- 集成指南
- 支持的功能(付款方式)
- Alipay In-Store 支付
Alipay In-Store
Alipay In-Store 是来自中国的一种付款方式,让客户可以使用在 Alipay 手机钱包应用程序中生成的支付条形码在中国和国外的商店内购买商品。 来自付款人电子钱包的条形码在商家的 POS 终端上接受扫描来发起付款。 付款金额从付款人 Alipay 钱包内的可用余额中扣除。
Alipay In-Store 是一种受 <<paymentGateway>> 支持的非卡付款方式。 此页内容介绍特定于 Alipay In-Store 的集成详细信息。
先决条件
在您开始将 Alipay In-Store 集成到您的环境之前,请确保您已经:
- 向本地付款方式整合方注册了您的商家账户。
- 使用本地付款方式整合方提供的账户详细信息以及您的 Alipay In-Store 账户详细信息(StoreID 和 StoreName)配置了网关商家配置文件。
与网关的 Alipay 集成仅支持:
- AUD、CAD、EUR、GBP、HKD、SGD、USD 货币。
请注意,网关仅支持进入中国市场的跨境商家(即国际商家)以及希望使用 Alipay 支付的位于国外的中国游客使用 Alipay。 网关不允许为定居中国的商家本地处理 CNY。
如果是跨境商家:
- 订单金额将使用处理货币(例如,EUR)向付款人呈现(由网关呈现)。
- 付款人将由 Alipay 使用 CNY 扣款,并被收取货币兑换费。
- 商家将由本地付款方式整合方使用 EUR 结算。
Alipay In-Store 支付集成
Pay
操作。 在 sourceOfFunds.type
= ALIPAY
且 transaction.source
= PAYER_PRESENT
时发起 Pay
请求。 此外,您还必须在 Pay 请求中提供以下字段:
sourceOfFunds.provided.alipay.payerCode
: 付款人代码是 Alipay 用于识别付款人的一次性代码。 它由付款人移动设备上的 Alipay 钱包应用生成。posTerminal.store.id
: 您发生交易的特定商店或企业位置的唯一识别码。posTerminal.store.name
: 您发生交易的特定商店或企业位置的名称。
如何解释交易结果
下表显示了在发起 Alipay In-Store 付款后您可能遇到的可能出现的情景的交易响应代码。
Retrieve Transaction 响应 |
具体含义... |
response.gatewayCode=APPROVED result=SUCCESS |
付款成功。 |
response.gatewayCode= PENDING result=PENDING |
网关等待来自收单行的付款结果通知。 稍后重试 RETRIEVE_TRANSACTION 或接收来自网关的通知。 |
response.gatewayCode= DECLINED or ACQUIRER_SYSTEM_ERROR result=FAILURE |
付款被拒绝。 为付款人提供尝试其他付款方式的选项。 如果出现 ACQUIRER_SYSTEM_ERROR ,您可能需要询问收单行付款失败的原因,也可以重试 RETRIEVE_TRANSACTION 。 |
response.gatewayCode=TIMED_OUT result=FAILURE |
请将此情况视为被拒付款。 网关将进行任何尝试以确保交易不成功或撤消交易。 |
退款
您可以部分或全部退还 Alipay In-Store 付款。 您必须在 <<paymentGateway>> 以及您在本地付款方式整合方处的商家账户中进行退款配置。
测试您的集成
在您完成构建 POS 系统与网关之间的集成并设置您在本地付款方式整合方的账户后,您应该使用测试商家配置文件测试您的集成(您的商家 ID 以 'TEST' 开头)。
测试 Pay 请求
在发起 Pay
请求触发其他 response.gatewayCode
值时,您可以使用 order.reference
字段。 下表显示了可以在 order.reference
字段中发送的值以及对应的交易响应代码。
order.reference |
response.gatewayCode |
response.acquirerCode |
transaction.funding.status |
order.status |
TEST-SUCCEED | APPROVED | SUCCEEDED | FUNDING_ASSURED | CAPTURED |
TEST-SUCCESS-INIT | SUBMITTED | PENDING | IN_PROGRESS | INITIATED |
TEST-FAIL-DECLINE | DECLINED | FAILED: REMOTE_DECLINE | NON_FUNDED | FAILED |
TEST-FAIL-TIMEOUT | ACQUIRER_SYSTEM_ERROR | FAILED: TIMEOUT | NON_FUNDED | FAILED |
TEST-FAIL-NOTFOUND | DECLINED | FAILED: INPUT_DATA | NON_FUNDED | FAILED |
TEST-TIMEOUT | TIMED_OUT | N/A | NON_FUNDED | FAILED |
测试 Refund 请求
您还可以发起 Refund
请求来测试成功的 Pay 测试交易中的退款。 order.status
将在成功退款的交易响应中返回为 REFUNDED
。