测试步骤
仔细的测试是软件开发的基石,确保其按预期运行。 在您确认集成在所有场景中都能按预期运行之前,您不能进入真实环境、处理实际付款。
先决条件
在开始测试 <<checkout>> 集成之前,您必须完成:
- 基本集成(使用 <<hostedPaymentPage>> 收集付款详细信息)。
- 您想要在订单生命周期内处理的任何后续操作的集成。
- 与您想要支持的付款方式相关的任何自定义。
- 您需要的所有其他功能和安全相关功能。
测试您的集成
测试中至少包括以下步骤:
- 对于您支持的付款方式,对需要在 <<hostedPaymentPage>> 上进行付款人交互的集成,测试您要在其中使用的所有操作。>
测试从创建结账会话到向付款人提供 <<hostedPaymentPage>> 以及管理付款页流程的回调的过程。 - 对于您支持的付款方式,确定您希望在集成中能够使用的付款流(初始和后续交易的组合)。 使用后续交易的所有可能组合测试所有流。
- 测试您正在使用的所有其他功能和安全相关功能。
- 确认您的系统做出适当反应并解决与无效请求和服务器问题相关的所有常见错误场景。
有关需要考虑的错误场景的示例,请参阅常见交易失败。 - 确定需要您采取进一步操作的交易响应,并测试您的集成是否在采取预期操作。
测试工具
要测试您的集成,<<paymentGateway>> 提供了一些有用的工具:
模拟器
您可以使用各种模拟器测试您的请求,您可以从测试商家账户访问这些模拟器。 要确认您正在使用测试商家账户,请检查 <<paymentServiceProvider>> (PSP) 提供的商家 ID 是否带有前缀“TEST”。 使用测试商家 ID 发送的所有请求都被视为测试请求,由模拟器处理。 请求不会被发送给实际的提供商、发卡机构和收单行。- 如果您已经获得带有“TEST”前缀的商家 ID,该商家 ID 即为您的测试商家账户。 当您准备好处理实际交易时,您的 PSP 会向您发送另一个商家 ID。
- 测试商家账户是一个完全独立的账户,其 API 密码或证书与您的常规账户不同。 当从一个商家切换到另一个商家时,请确保更改您的商家 ID 和任何身份验证凭据。
对于需要付款人在支付服务提供商的网站上提供批准的付款方式,网关提供了交互式付款模拟器。 有关特定模拟器功能和选项的更多信息,请参阅特定付款方式和常见浏览器付款集成中的测试说明。
测试卡
如果您支持卡付款作为付款方式,网关将提供测试卡,支持您测试各种场景,包括 3DS 支付验证。 有关详细信息,请参阅“测试卡”和测试 3DS 身份验证集成。可预测响应结果
测试模拟器配置为根据交易请求和您提供的卡详细信息生成可预测的结果。 有关详细信息,请参阅“测试卡”和“常用浏览器付款集成”。
您可以触发包含特定 <<paymentGateway>> 响应代码或卡安全码验证结果以及地址验证响应代码的交易响应,并确保您的集成对每个响应做出适当的反应。 您还能够收到电子钱包等功能的特定响应结果。
常见交易失败
测试集成时,请考虑以下交易失败场景,确保系统能够做出适当的反应:
付款授权被拒绝或卡类型不被接受
如果交易响应中的response.gatewayCode以 DECLINED 开头,表示发卡银行未批准该付款授权,或付款人在尝试使用网关不接受的卡类型。
研究返回的网关代码和交易中的其他详细信息,更深入地确定付款被拒绝的原因。 您可能需要告知付款人使用其他付款方式来解决问题。卡信息无效
如果您的交易响应中的response.gatewayCode设置为INVALID_CSC、EXPIRED_CARD或类似内容,说明问题出在付款人的卡详细信息上。 付款人输入的信息有误,或者该卡不再有效。 您需要让付款人检查卡详细信息或者考虑使用其他卡。资金不足
如果您的交易响应中的response.gatewayCode设置为INSUFFICIENT_FUNDS,表示付款人的账户没有足够的资金来完成交易。 您需要告知付款人使用其他付款方式或卡。交易超时
如果您的交易响应中的response.gatewayCode设置为TIMED_OUT,表示网关未收到收单行的答复。 因此,交易将自动终止。 您需要稍后再试。