- 集成指南
- 支持的功能(付款方式)
- 实施浏览器付款集成
实施浏览器付款集成
浏览器付款方式允许付款人在浏览器付款支付服务提供商的网站上在线支付商品和服务费用。 Mastercard Gateway 将付款人的浏览器重定向到付款人登录的浏览器付款支付服务提供商的网站,然后选择卡详细信息、审查付款并完成交互。
Mastercard Gateway 支持以下浏览器付款方式:
- Alipay
- Bancontact
- Boleto Bancário
- iDEAL
- Klarna Financing
- Klarna Pay Later
- Klarna Pay Now
- Multibanco
- PayPal
- POLi
- SEPA
- UnionPay SecurePay
- 微信支付
先决条件
若要通过 Mastercard Gateway 实现浏览器付款,您需要:
- 使用浏览器付款支付服务提供商的账户。
- 购物网站页面,Mastercard Gateway 在完成交互后将付款人的浏览器返回到此页面。
建议您订阅“通知”服务,以在付款成功时能够收到通知(电子邮件/Webhook)。 Mastercard Gateway(代表您)还可以向付款人发送电子邮件通知。
通过 Hosted Checkout 集成进行浏览器付款
如果您有现有的 Hosted Checkout 集成,当 your payment service provider 使用收单行链接在 Mastercard Gateway 中针对浏览器付款支付服务提供商成功配置了您的商家配置文件后,浏览器付款方式将自动可用。
下图说明了 Hosted Checkout 模型中的浏览器付款流:
- 当付款人准备在您的购物网站结账时,您发起 Hosted Checkout 交互。 Mastercard Gateway 显示您选择的付款界面: Lightbox 或托管付款页。
- 系统向付款人显示付款界面,在界面中浏览器付款方式显示为付款选项。
- 当付款人选择浏览器付款方式时,Mastercard Gateway 将付款人的浏览器重定向到要登录的浏览器付款支付服务提供商的网站,并选择卡详细信息或执行付款。
- 在浏览器付款支付服务提供商网站上完成付款人交互后,将通过以下方式向付款人显示付款结果:
- 托管收据: 付款结果显示在托管付款页/Lightbox 上。 这是默认行为。
- 您购物网站上的收据: 您可以选择在您的购物网站上向付款人显示付款结果。 相关集成指南,请参阅将付款人返回到您的购物网站。
付款人还可以通过 Mastercard Gateway — 发送的电子邮件通知获取成功付款的结果,您必须在 Merchant Administration 中订阅付款人通知。
获取交易结果
您可以使用 Merchant Administration 或执行 Retrieve Order
/Retrieve Transaction
操作来查找付款成功或其他结果的信息。 请参阅浏览器付款特定集成页面上的“如何解释交易结果”部分。
您还可以通过您的集成(仅当您选择将付款人返回到您的购物网站时)或通过“通知”服务(电子邮件/Webhook)来查找付款成功的结果信息。
通过 Direct Payment 集成进行浏览器付款
下图说明了 Direct Payment 模型中的浏览器付款流:
以下是通过 Direct Payment 集成进行浏览器付款的集成步骤:
当付款人选择浏览器付款方式时,执行 Initiate Browser Payment
操作来提供订单相关信息,并获取浏览器付款方式的重定向 URL。 您需要在 Initiate Browser Payment
操作请求中提供以下信息:
order.amount
: 订单金额。order.currency
: 支付订单使用的货币。sourceOfFunds.type
: 浏览器付款方式。 例如,PAYPAL、UNION_PAY。browserPayment.returnUrl
: 返回 URL 是您网站上的一个页面。 当在浏览器付款支付服务提供商的网站上完成付款后,付款人浏览器将被重定向到此页面。 您可能希望在返回 URL 中包括信息来识别网站上的付款人订单。browserPayment.operation
: 在付款人完成交互时您希望创建的交易类型。 您有两个选项:
Authorize
— 一项交易,在此交易中,使用付款人的基础资金来源对付款授权,但不立即过账。Pay
— 一项交易,在此交易中,先对付款授权,如果成功,则立即过账。
请注意,Mastercard Gateway 将忽略通过 Mastercard Gateway 在您的商家账户中配置的权限。
PayPal 和 UnionPay SecurePay 支持 Authorize 和 Pay 操作;其他浏览器付款方式(Sofortbanking、giropay、BancaNet)只支持 Pay。
您可能还提供与订单相关的其他详细信息,例如,账单地址、送货地址、客户详细信息等。
使用 Initiate Browser Payment
响应中提供的 browserPayment.redirectUrl
将付款人浏览器重定向到浏览器付款支付服务提供商。
在浏览器付款支付服务提供商的网站上完成付款人交互后,Mastercard Gateway 会使用 Initiate Browser Payment
请求中提供的 browserPayment.returnUrl
将付款人浏览器返回到您的购物网站。 您的购物网站需要通过返回 URL 中提供的信息来识别订单。
如果您未在预期的时间范围内看到返回的付款人浏览器,应执行 Retrieve Transaction
操作(参见步骤 4)来查找交互状态和/或付款成功或其他结果的信息。
在收到付款人浏览器后,应使用 Retrieve Transaction
来查找付款成功或其他结果的信息。
Retrieve Transaction
响应将包含订单详细信息,并有可能包含浏览器付款支付服务提供商返回的付款人详细信息,具体取决于付款方式。
使用提供的信息向付款人显示交易结果。 请参阅浏览器付款特定集成页面上的“如何解释交易结果”部分。
如果交易未成功,请使用同一个订单 ID 再次执行步骤 1 到步骤 4。
测试浏览器付款集成
有关如何测试支持的浏览器付款方式的详细信息,请参阅测试浏览器付款。
疑难解答和常见问题
您可以使用 Retrieve Transaction
/Retrieve Order
响应中返回的 browserPayment.interaction.status
字段和各自的时间字段来跟踪浏览器付款的进度。
browserPayment.interaction.status=INITIATED
browserPayment.interaction.timeInitiated
=<the date and time the payment was successfully initiated is set>browserPayment.interaction.status=REDIRECTED_TO_PROVIDER
browserPayment.interaction.timeRedirected
=<the date and time the payer's browser was received from your shop site and redirected to the browser payment provider's website is set>browserPayment.interaction.status=RETURNED_TO_MERCHANT
browserPayment.interaction.timeReturned
=<the date and time the payer's browser was received from the browser payment provider's website and redirected back to your shop site is set>browserPayment.interaction.status=COMPLETED
browserPayment.interaction.timeCompleted
=<the date and time the payment was completed is set>
这些字段对于解答您的问题可能非常有用。