- 集成指南
- 支持的功能(付款方式)
- 实施浏览器付款集成
- 微信支付
微信支付
微信支付是在中国使用的电子商务支付系统,让付款人可以从其微信支付账户使用直接在线转账来购物。 付款人被重定向到其可以发起即时付款的微信支付账户。
微信支付是一种受 QNB ALAHLI 支持的浏览器付款方式。 此页内容介绍特定于微信支付的集成详细信息。 建议您在构建微信支付集成前,先阅读浏览器付款集成指南。
微信支付浏览器付款支持使用 EUR、USD、GBP、CNY 和 CHF 货币的交易。
先决条件
若要通过 QNB ALAHLI 作为付款方式提供微信支付:
- 您必须向您的浏览器付款服务提供商注册。
- 您在网关上的商家配置文件必须通过浏览器付款服务提供商使用您的账户的详细信息配置。
- 您必须有使用支持的货币之一的银行账户,且该账户已向您在浏览器付款服务提供商处的商家账户注册。
请注意,网关仅支持进入中国市场的跨境商家(即国际商家)以及希望使用微信支付进行支付的位于国外的中国游客使用微信支付。 网关不允许为定居中国的商家本地处理 CNY。
如果是跨境商家:
- 订单金额将使用处理货币(例如,EUR)向付款人呈现(由网关呈现)。
- 付款人将由微信支付使用 CNY 扣款,并被收取货币兑换费。
- 商家将由浏览器付款服务提供商使用 EUR 结算。
微信支付集成
通过 <<checkout>> 使用微信支付
不久之后将实现通过 <<checkout>> 使用微信支付。 请联系 your payment service provider 了解更多信息。
通过 <<directPayment>> 使用微信支付
<<directPayment>> 集成可让您在自己的结账页提供微信支付付款方式。
从 <<webServicesIntegration>> 版本 47 开始支持微信支付。
除浏览器付款请求中需要的标准字段外,您还需要在 Initiate Browser Payment
请求中提供以下字段:
sourceOfFunds.type
=WECHAT_PAY
browserPayment.operation
=PAY
(微信支付不支持 Authorize 操作)sourceOfFunds.provided.weChatPay.accountHolder
: 付款人微信支付账户的账户所有人姓名。
首选语言
您可以通过在 Initiate Browser Payment 请求中提供 browserPayment.preferredLanguage
字段来设置微信支付为向付款人显示的页面使用的首选语言。 不过,此语言只有在微信支付支持时才能够使用。
发起微信支付付款的示例代码
{ "apiOperation":"INITIATE_BROWSER_PAYMENT", "browserPayment":{ "operation":"PAY", "returnUrl":"https://<return_url>" }, "order": { "amount": "10.00", "currency": "EUR" }, "sourceOfFunds": { "type": "WECHAT_PAY", "provided": { "weChatPay": { "accountHolder": "John Smith" } } } }
如何解释交易结果
下表显示了在发起微信支付付款后您可能遇到的可能出现的情景的交易响应代码。
Initiate Browser Payment 响应 |
具体含义... |
---|---|
response.gatewayCode=SUBMITTED result=SUCCESS |
使用响应中提供的 URL 重定向付款人。 |
Retrieve Transaction/Retrieve Order 响应 |
具体含义... |
response.gatewayCode=APPROVED result=SUCCESS sourceOfFunds.provided.weChatPay.accountHolder
|
付款成功。 |
response.gatewayCode= PENDING result=PENDING |
QNB ALAHLI 等待来自收单行的付款结果通知。 稍后重试 RETRIEVE_TRANSACTION 或接收来自 QNB ALAHLI 的通知。 |
response.gatewayCode= CANCELLED result=FAILURE |
付款人已取消此付款的交互。 为付款人提供尝试其他付款方式的选项。 |
response.gatewayCode= DECLINED or ACQUIRER_SYSTEM_ERROR result=FAILURE |
付款被拒绝。 为付款人提供尝试其他付款方式的选项。 如果出现 ACQUIRER_SYSTEM_ERROR ,您可能需要询问收单行付款失败的原因,也可以重试 RETRIEVE_TRANSACTION 。 |
response.gatewayCode=TIMED_OUT result=FAILURE |
请将此情况视为被拒付款。 QNB ALAHLI 将进行任何尝试以确保交易不成功或撤消交易。 |
退款
您可以部分或全部退还微信支付付款。 您必须在 QNB ALAHLI 以及您在浏览器付款服务提供商处的商家账户中进行退款配置。
测试您的集成
QNB ALAHLI 提供允许您测试您的微信支付集成的浏览器付款模拟器。