- 集成指南
- 支持的功能(付款方式)
- 实施浏览器付款集成
- 测试浏览器付款集成
测试浏览器付款集成
在您通过支付服务网站提供商设置账户并构建集成后,您应该使用测试商家配置文件测试您的集成(您的商家 ID 以 'TEST' 开头)。 <<paymentGateway>> 将提供模拟器来模拟支付服务提供商的网站。
测试 Initiate Browser Payment 调用
在发起 Initiate Browser Payment 请求触发其他 response.gatewayCode
值时,您可以使用 order.reference
字段。
对于 Void 交易,您必须使用
transaction.reference
字段。在 order.reference
中发送 '.FAIL<code>' 将返回:
- 如果 <code> 是有效的
response.gatewayCode
值,response.gatewayCode
=<code>。 - 如果 <code> 对于
response.gatewayCode
是无效值,response.gatewayCode=UNKNOWN
。
此测试不适用于 BancaNet 付款方式。 这是因为仅当付款成功时,付款人浏览器才被重定向回商家网站。
对于其他浏览器付款(Alipay、Boleto Bancário、Bancontact、Giropay、GrabPay、iDEAL、Klarna Financing、Klarna Pay Later、Klarna Pay Now、Multibanco、OXXO、POLi、SEPA、Sofortbanking、微信支付)
在发起 Initiate Browser Payment 请求触发其他 response.gatewayCode
值时,您可以在 order.reference
字段中使用以下值(无“.FAIL”前缀)。
order.reference | response.gatewayCode | 行为 |
---|---|---|
TEST-SUCCEED | APPROVED | 交易将立即成功。 |
TEST-FAIL-NOTFOUND | DECLINED | 交易将被立即拒绝。 |
TEST-FAIL-DECLINE | DECLINED | 交易将被立即拒绝。 |
TEST-PENDING | SUBMITTED | 交易将无限期地处于待处理状态。 |
TEST-FAIL-THEN-SUCCESS | SUBMITTED 然后 DECLINED 然后 APPROVED |
30 秒后,模拟器将发送通知,交易失败。 60 秒后,模拟器将发送另一个通知,交易将成功。 |
TEST-FAIL-INIT | SUBMITTED 然后 DECLINED |
30 秒后,模拟器将发送通知,交易失败。 |
TEST-SUCCESS-INIT | SUBMITTED 然后 APPROVED |
30 秒后,模拟器将发送通知,交易将成功。 |
TEST-TIMEOUT-THEN-SUCCESS | SUBMITTED 然后 ACQUIRER_SYSTEM_ERROR 然后 APPROVED |
30 秒后,模拟器将发送通知,并将交易标记为超时。 60 秒后,模拟器将发送通知,交易将成功。 |
TEST-QUICK-TIMEOUT-THEN-SUCCESS | SUBMITTED 然后 ACQUIRER_SYSTEM_ERROR 然后 APPROVED |
5 秒后,模拟器将发送通知,并将交易标记为超时。 5 秒后,模拟器将发送通知,交易将成功。 |
TEST-FAIL-TIMEOUT | SUBMITTED 然后 ACQUIRER_SYSTEM_ERROR |
30 秒后,模拟器将发送通知,并将交易标记为超时。 |
TEST-TIMEOUT | TIMED_OUT | 此模拟器模拟超时场景。 交易将在延迟 31 秒后失败。 |
TEST-NO-RESPONSE | UNSPECIFIED_FAILURE | 此模拟器模拟交易无法处理的场景。 |
模拟来自支付服务提供商的结果
浏览器付款模拟器:
- 具有基本的支付服务提供商品牌。
- 仅提供英文。
对于 PayPal 付款
在您注册后,PayPal 沙盒 ID 将设置为一个虚拟值,以便您可以使用测试配置文件测试集成。 授予您的第三方权限后,虚拟值将被替换为实际的 PayPal 账户 ID。
- 显示 Initiate Browser Payment 请求中提供的付款详细信息。
- 您必须选择 PayPal 支付结果:
SUCCESS
PENDING
CANCEL
UNKNOWN
ERROR
TIMED_OUT
- 对于待定结果,您可以通过在收到通知和预期通知结果前设置延迟来模拟获取通知。
- 在单击"立即付款"或"继续"后,浏览器将被重定向回 Initiate Browser Payment 请求中提供的 URL。
- 在发起 Initiate Browser Payment 请求触发其他
response.gatewayCode
值时,在order.reference
或transaction.reference
字段中使用以下值 .Order.Reference 或 transaction.reference response.gatewayCode 订单状态 行为 PP.400.BADREQUEST DECLINED FAILED 交易将被立即拒绝。 PP.PENDING.AUTHORIZATION APPROVED CAPTURED 交易将立即成功。 PP.PENDING.NONE PENDING CAPTURED 交易将无限期地处于待处理状态。 PPP.400.CAPTURE_AMOUNT_LIMIT_EXCEEDED DECLINED FAILED 交易将被立即拒绝。 PP.400.TIMEOUT DECLINED FAILED 此模拟器模拟超时场景。 交易将立即失败。 PP.400.INVALID_REQUEST DECLINED FAILED 交易将被立即拒绝。 PP.400.INSUFFICIENT_FUNDS INSUFFICIENT_FUNDS FAILED 此模拟器模拟资金不足场景。 交易将立即失败。 PP.400.ORDER_VOIDED DECLINED FAILED 交易将被立即拒绝。
如果您是第一次与 PayPal 集成,必须在测试集成时作为 order.reference
字段的一部分发送以下值
在发起 Initiate Browser Payment 请求触发其他 response.gatewayCode
值时,在 order.reference
字段中使用以下值。
Order.Reference | response.gatewayCode | 订单状态 | 行为 |
---|---|---|---|
A_M | DECLINED | FAILED | 交易被立即拒绝。 |
P_C | PENDING | CAPTURED | 交易将无限期地处于待处理状态。 |
I_D | DECLINED | FAILED | 此场景模拟资金提供失败场景。 有关详细信息,请参见处理资金提供失败主题。 |
对于 <<unionPaySecurePay>> 支付
- 显示 Initiate Browser Payment 请求中提供的付款详细信息。
- 您必须选择一个卡号来触发 <<unionPaySecurePay>> 支付结果:
测试卡号 交易响应网关代码 2223000000000007APPROVED 4005550000000019ACQUIRER_SYSTEM_ERROR 4508750015741019UNKNOWN 6011000991300009NOT_SUPPORTED 5149612222222229DECLINED 4012000033330026TIMED_OUT - 在单击"继续"后,浏览器将被重定向回 Initiate Browser Payment 请求中提供的 URL。
对于 BancaNet 付款
- 显示 Initiate Browser Payment 请求中提供的付款详细信息。
- 您必须选择 BancaNet 支付结果:
SUCCESS
FAILURE
- 创建 BancaNet 响应并发送到 <<paymentGateway>>。
- 在提交 "SUCCESS" 后,用户将被重定向回商家网站(使用 Initiate Browser Payment 请求中提供的返回 URL)。 如果选择 "FAILURE","提交"按钮将变为禁用,用户将不会被重定向回商家网站。
对于其他浏览器付款(Alipay、Boleto Bancário、Bancontact、Giropay、GrabPay、iDEAL、Klarna Financing、Klarna Pay Later、Klarna Pay Now、Multibanco、OXXO、POLi、SEPA、Sofortbanking、微信支付)
- 显示 Initiate Browser Payment 请求中提供的付款详细信息。
- 您必须选择支付结果:
SUCCESS
DECLINE
BAD_REDIRECT_CHECKSUM
(不推荐用于测试)
- 对于待定结果,您可以通过在收到通知和预期通知结果前设置延迟来模拟获取通知。
- 浏览器付款服务提供商将返回会传送给您的重定向 URL。
- 然后您应该使用所提供的 URL 将付款人重定向到浏览器付款的特定页面。
- 填写付款详细信息后,浏览器付款服务提供商将处理交易请求,<<paymentGateway>> 会将付款人重定向回您的网站。
测试 IP 地址范围的交易筛选规则
如果您为 IP 地址范围配置了交易筛选规则,您可以通过进行以下设置来模拟对禁止 IP 地址的拒绝:
- 在 Merchant Administration 中配置要在 IP 地址范围规则中拒绝的 IP 地址范围。
- 提交
Initiate Browser Payment
请求时在order.reference
字段内提供该范围内的 IP 地址。- 对于浏览器付款:Alipay、Boleto Bancário、Bancontact、Giropay、GrabPay、iDEAL、Klarna Financing、Klarna Pay Later、Klarna Pay Now、OXXO、POLi、SEPA、Sofortbanking、微信支付,值应以“
TEST_IP_ADDRESS<nnn.nnn.nnn.nnn>
”格式提交。此测试不适用于 Multibanco 浏览器付款方式。 这是因为付款人的浏览器未被重定向到 Multibanco 网站,因此网关无法检查到付款人的 IP 地址。 - 对于其他浏览器付款,此值应使用格式“
.TEST_IP_ADDRESS<nnn.nnn.nnn.nnn>
”提交。
<nnn.nnn.nnn.nnn> 表示有效的 IPv4 格式,可以包含 7 到 15 个字符。 - 对于浏览器付款:Alipay、Boleto Bancário、Bancontact、Giropay、GrabPay、iDEAL、Klarna Financing、Klarna Pay Later、Klarna Pay Now、OXXO、POLi、SEPA、Sofortbanking、微信支付,值应以“
如果 IP 地址导致交易被拒绝,risk.response.gatewayCode
将在 Retrieve Transaction 操作中作为 'REJECTED' 返回。
对于模拟拒绝 IP 国家\地区交易筛选规则中被列入黑名单的国家/地区没有提供特定测试,不过,您可以通过将所有国家/地区添加到拒绝列表中来模拟此场景。