跳转到主要内容

主机到主机集成

Quick Reference

What服务器到服务器收费 API(应用程序编程接口)
Why对重试、幂等与错误处理的最大控制
Reading Time20 分钟
Difficulty高级
Prerequisites身份验证 → 环境配置

主机到主机(H2H)是直连 API 集成:您的后端携带卡与订单数据调用 A55。您完全掌控重试、幂等与错误处理。


为何选择 H2H(对比)

标准H2HSDKCheckout Page
卡数据安全您负责传输安全A55 通过 SDK 处理A55 全面管理
控制程度完全部分最低
卡数据处理您的服务器浏览器 SDKA55 托管
3DS(3D Secure 验证)管理由您处理重定向由 SDK 处理由 A55 处理
最适合需要完全服务器端控制中端市场低代码 / 无代码

何时使用

  • 您需要对卡数据传输拥有完全服务器端控制
  • 您需要对收费全生命周期的最大服务端控制。
  • 当 API 返回 pendingurl_3ds 时,您将实现 3DS 重定向

卡字段(请求体)

字段说明
card_name卡面印刷的持卡人姓名
card_number主账号(PAN)
card_expiry_month到期月份(1–12)
card_expiry_year到期年份(四位)
card_cvv卡验证值

技术流程


分步集成

1

获取访问令牌

curl -s -X POST "https://a55-auth.auth.us-east-1.amazoncognito.com/oauth2/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET"
2

构建并发送收费请求

POST https://core-manager.a55.tech/api/v1/bank/wallet/charge/

curl -sS -X POST 'https://core-manager.a55.tech/api/v1/bank/wallet/charge/' \
-H 'Authorization: Bearer $ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: ord_001' \
-d '{
"wallet_uuid": "00000000-0000-4000-8000-000000000001",
"merchant_id": "merchant_123",
"payer_name": "张伟",
"payer_email": "zhangwei@example.com",
"payer_cell_phone": "+5511999999999",
"payer_tax_id": "12345678901",
"items": [{"name": "订单", "quantity": 1, "value": 10000}],
"payer_address": {"street": "Av. Paulista 1000", "city": "São Paulo", "state": "SP", "zip_code": "01310100", "country": "BR"},
"currency": "BRL",
"installment_value": 10000,
"installment_count": 1,
"due_date": "2026-12-31",
"description": "H2H 测试收费",
"type_charge": "credit_card",
"card_name": "张伟",
"card_number": "4111111111111111",
"card_expiry_month": 12,
"card_expiry_year": 2030,
"card_cvv": "123",
"reference_external_id": "ord_001",
"threeds_authentication": false,
"webhook_url": "https://merchant.example/webhooks/a55",
"redirect_url": "https://merchant.example/return"
}'
3

处理响应

{
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "confirmed",
"reference_external_id": "ord_001"
}
4

处理 3DS 重定向(若状态为 pending)

若响应包含 url_3ds,请重定向买家,然后监听完成事件:

window.addEventListener('message', function (event) {
if (event.data?.event === '3ds-auth-complete') {
const chargeUuid = event.data.chargeUuid;
// 查询收费状态并更新 UI
}
});
5

通过 Webhook(网络钩子)确认

配置 webhook_url,以便在买家关闭浏览器后仍能收到异步状态更新。

{
"charge_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "paid",
"transaction_reference": "txn_ref_001"
}

使用 Sandbox(沙箱环境)测试卡

Card NumberBrandScenarioExpected Status
4111 1111 1111 1111Visa支付成功confirmed
5500 0000 0000 0004Mastercard支付成功confirmed
4000 0000 0000 0002Visa卡被拒declined
4000 0000 0000 0101Visa需要 3DS 挑战confirmed
4000 0000 0000 0069Visa处理错误error
5105 1051 0510 5100Mastercard余额不足declined

希望提高通过率?

Visa Data Only(仅数据共享) 通过 3DS 通道向发卡行发送增强交易数据——无需任何挑战重定向。Square 在超过 600 万笔交易的试点中,通过率最高提升 646 个基点(1 bp = 0.01%)。

若您已为 3DS 发送 device_info,数据已齐备。只需将 threeds_authentication: true 改为 data_only: true

权衡:无责任转移(商户承担欺诈风险)。对拉美地区高交易量、低风险的订单,通过率提升通常超过欺诈成本。

了解如何启用 Data Only →