跳转到主要内容

主机到主机集成

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 返回 pending 与 action_url 时,您需要处理付款人重定向(3DS 验证或指纹采集)。

卡字段(请求体)​

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

技术流程​


分步集成​

1

获取访问令牌

curl -s -X POST "https://auth.a55.tech/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://sandbox.api.a55.tech/api/v1/bank/wallet/charge/

curl -sS -X POST 'https://sandbox.api.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

处理响应

响应始终返回完整的收费对象。根据结果变化的关键字段是 status、action_url 和 message。

{
"charge_uuid": "a34f2499-2a40-40a5-8f5a-578002a88f51",
"local_currency": 159.8,
"currency": "EUR",
"usd_currency": 185.59,
"type": "credit_card",
"date": "2026-04-01",
"description": "#18770 Payments Cabo HDMI 2.1 Ultra 8K",
"due_date": "2025-10-11",
"status": "confirmed",
"message": [],
"installment_count": 1,
"installments": [],
"payment_payload": {},
"applepay_payload": {},
"charge_payment_url": null,
"action_url": "",
"session_id": null,
"subscription": {},
"reference_external_id": "10ccf81a-1de7-4a3e-b86d-f3f685e8ee57",
"is_async": false
}
4

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

若响应包含 action_url,请将买家重定向到该 URL。付款人完成操作(3DS 验证或指纹采集)后,会自动重定向到您的 redirect_url。请始终以 webhook 作为最终交易状态的可靠来源。

if (response.action_url) {
window.location.href = response.action_url;
}
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 →