- 集成指南
- 实施 Direct Payment 集成
- 了解您的输入字段
了解您的输入字段
在执行测试交易之前,您必须准备好需要输入的字段的值。 无论您选择哪种方法来生成这些值:手动或使用脚本自动生成,为这些字段提供适当的值都可以简化管理订单和交易的过程,尤其是对于检索丢失的交易。 要对订单和交易有基本的了解,请参阅订单和交易。
网关有一个唯一识别码,用于识别您提交的特定订单。 您必须在订单上的第一个交易期间分配该识别码。 此识别码称为 order.id
(在 REST 中作为 URL 中的 orderID
提供)。 建议您向网关提供系统内订单的自然关键信息(购物车 ID、发票号)。 这样,在您的系统和网关之间进行跟踪会更容易。 网关还会尝试在收单行消息中使用 order.id
。 通过这种方式,全部三个系统(您的系统、网关和银行)将通过公用识别码关联起来。 但由于各个系统的限制,这种理想情况可能并不可行。
订单识别码可能不适合作为系统的参考信息。 例如,如果您的系统转换订单 ID,或在一个订单下分为多个小组,那么订单识别码将不合适。 这种情况下,您可以提供其他值 order.reference
来在您的系统和 Mastercard Gateway 之间进行跟踪。
网关需要向收单行传递识别码。 它会尝试使用您的订单识别码,可能会将其与您的交易识别码组合起来(见下文)。 但是,如果这个值对于您的收单行不合适,网关会转换为合适的值。 无论是哪种情况,网关都会在 transaction.acquirer.transactionId
字段中返回所使用的识别码。
但是,如果您希望控制网关提供给收单行的值,那么您可以在请求中提供 transaction.acquirer.transactionId
值。
order.id
,以及 order.reference
或 transaction.acquirer.transactionId
中的一个或两个同时提供来有效控制每个系统中的身份识别。Mastercard Gateway 具有一个唯一识别码,用于识别订单内的各个交易。 此识别码称为 transaction.id
(在 REST 中作为 URL 中的 transactionID
提供)。 通常您不会为此值使用自然键,但如果有,建议您使用。 如果没有,也可以使用顺序数字或随机数字。
有关字段类型和验证规则的信息,请参阅 API 参考。
HTML 表单中的字段约束
不是每个字段都能在 HTML 表单中显示,因此您必须注意要显示什么、要在代码中计算什么,以及不要将哪些字段标记为隐藏字段。
仅向付款人显示最低限度的数据对于确保集成的安全性非常重要。 考虑到这一点,您应该只呈现需要付款人输入的表单字段。
仅包含需要用户输入的表单字段是行业内的最佳做法(有可能是一项安全要求)。 使用隐藏字段来存储或传送数据是被禁止的,因为这些字段将向付款人显示,有可能被某些恶意人员编辑后进行欺诈交易处理或者更糟。
前一部分概括了只使用需要用户输入的表单字段的最佳做法。 最重要的是,永远不要向付款人显示以下字段(包括使用隐藏字段):
Merchant ID
API Password
您的应用程序/网站应该将这些值安全地存储在配置文件或数据库中。 如果有欺诈用户意图获取这些数据的访问权,您的账户则易受潜在攻击的影响。