解释交易响应
当您向 Mastercard Gateway 发送交易请求时,您会在短时间内收到响应。 为了确定您的交易是否成功,以及从交易响应中获取其他重要数据,您需要解码并解析交易响应。 当您知道交易结果时,最好在付款页面上向付款人显示该结果和某种收据。
花一些时间检查 API 参考中每个相关操作的交易响应字段。 所有字段都提供了有价值的信息,并且您可能希望将其中一些存储在本地,以用于会计、对账和可追溯性的原因。 集成越复杂,研究特定的响应代码来识别交易状态的各个方面就越有用。
验证您为交易提供的数据是否与用于处理交易的数据相同是一种很好的做法。 例如,检查交易响应中返回的金额是否与您在请求中发送的值相匹配。
交易响应示例
此主题包含各种示例代码段。 选择要使用的协议和语言,然后选择“更新代码段”更改此主题中的所有代码段。
此页包含示例代码段。 选择界面和语言,然后单击更新代码段。
解码响应
(, ) 更改当您收到对您的交易的响应时,它会被编码或格式化为与交易请求相同的格式。 为了使这些数据更易于访问,请对其进行解码并将其存储在数组或类似对象中。
以下代码段显示如何解码从网关收到的响应。
解析响应
(, ) 更改解码交易响应并将其存储在易于访问的对象中后,您即可以解析数据来检索所需的任何字段。
所有 API 操作在响应中都包含一个结果字段。 此字段指示您的交易的总体结果和状态。 使用此字段来确定应用内的不同处理选项。 例如,如果交易结果值为 SUCCESS,可以记录为成功处理。 如果结果是 FAILURE,您可以进一步查看交易响应,确定付款人是否必须再次尝试进行交易,或者您是否必须在应用内执行另一个流程。
正面的代码段显示如何解析已解码交易响应的字段。
常见问题
如果我没有收到响应该怎么办?
如果您没有收到响应,等待 60 秒,然后尝试重新提交相同请求。 如果网关已收到原始请求,新请求是重复的,银行交易不会重复进行,也不会发生重复转账。 您将收到与第一个请求收到的响应相同的响应。
我如何知道交易是否已被批准?
所有已批准的交易均以来自网关的交易响应代码值 APPROVED 表示(请参阅交易响应中的 response.gatewayCode 字段)。 任何其他代码都代表交易被拒绝或失败。