- 集成指南
- 实施 Hosted Payment Session 集成
实施 Hosted Payment Session 集成
在 Hosted Payment Session 模型中,您向付款人呈现付款单来收集卡详细信息,这些信息随后将从付款人浏览器直接提交到 CommWeb payment gateway。 网关在会话中收集卡详细信息并临时存储以供日后使用。 然后,您可以在交易请求中包含会话标识符,代替卡详细信息来处理付款。
主要优点
- 您无需处理或存储任何信用卡详细信息,从而降低 PCI 合规成本。
- 您可以完全控制付款页的品牌和样式。
- 您可以在付款单上收集其他信息,例如折扣券代码、忠诚度计划标识符、送货地址、送货方式等。
- 您可以使用收集到的附加信息和卡详细信息来计算总付款金额。 例如,您的在线购物网站可以计算:
- 根据所用卡类型收取的附加费;
- 根据地址和送货方式确定的运费;
- 使用优惠券代码获得的折扣。
您可以将发起付款与收集卡详细信息分离。
- 您可以将此解决方案与 Tokenization 集成,从而进一步减少 PCI DSS 审计的范围和成本。
先决条件
- 请确保已为 DirectAPI 和 Hosted Payment Session 启用了商家配置文件。
- 确保与 CommWeb payment gateway 服务连接。
- 在开始集成前,请阅读下方的“最佳做法和建议”部分。
最佳做法和建议
如果交易被拒绝,并且您希望为付款人提供重试的选项,则必须创建一个新的会话。 然后必须重新显示付款单,让付款人提供卡详细信息。
会话在几小时后过期。 任何尝试使用已过期的会话都将导致错误,指示会话无效。 客户端应用程序将需要创建一个新的会话并再次从付款人那里收集卡详细信息。
会话可能会多次更新卡详细信息,直至过期。 您可以使用 session.version 参数确保您使用的会话信息是最新版本。
通过付款详细信息表单收集并添加了有效的卡详细信息后,可以使用单个会话执行多项操作。 例如,Pay 操作后跟 Tokenization 操作。 请注意,财务交易执行后,CSC 即会失效(参见下文)。
在执行参考会话的操作(Open Wallet 和 Update Session 除外)后卡安全码将立即从会话中去除。 这是遵守 PCI 法规的必要做法。 例如,如果使用名义授权执行 Tokenization 操作,卡安全码将被去除,不会包含在后续的 Pay 操作中。
Hosted Payment Session 实现模型
Hosted Payment Session 解决方案支持两种实现模型:
- 使用 JavaScript 的 Hosted Payment Session — 这是推荐采用的集成方法,它提供了一种快速、简便的方法来集成支持 JavaScript 的客户端应用程序。
- 如果您的客户端应用程序不支持 JavaScript,Hosted Payment Session POST — 会使用此方法。
测试与投入使用
测试可以您检查您的集成是否按预期工作。
疑难解答和常见问题
会话中存储的卡详细信息可以在使用会话执行 Hosted Payment Session 交易前进行更新。 例如,如果付款人希望更新其卡详细信息,因为所提供的某些详细信息不正确,那么可以在发起交易以支付订单之前更新卡详细信息。
如果交易被拒绝,并且您希望为付款人提供重试的选项,则必须创建一个新的会话。 然后必须重新显示付款单,让付款人提供卡详细信息。
一个付款会话可用于多个交易,例如,Pay 之后 Save,直到会话过期。 但务必要了解,会话在执行了交易后,卡详细信息可能不会再更新。 因此,使用该会话执行的所有交易都将使用相同的卡详细信息。