- 集成指南
- 支持的功能(付款方式)
- 实施浏览器付款集成
- BancaNet Directo 支付
BancaNet Directo
BancaNet Directo 是来自 Banamex 的网上银行解决方案。 当付款人选择 BancaNet Directo 作为付款方式时,他们将被重定向到 BancaNet Directo 网上银行站点,然后可以在那里将资金转移到商家账户。 转账是即时的,不支持后续操作,例如,Void、Refund 等。
BancaNet 是一种受支持的浏览器付款方式。 此页介绍特定于 BancaNet Directo 的集成详细信息,包括如何设置 BancaNet Directo 账户。 有关浏览器付款的一般概述,以及如何将浏览器付款方式与 Mastercard Gateway 集成的信息,请参阅实施浏览器付款集成。
先决条件
若要作为付款方式使用 BancaNet Directo:
- 您必须有可以使用网关支持的货币的 BancaNet Directo 银行账户 — MXN 或 USD。
- 您必须注册 Banamex 并签订 BancaNet Directo 合同。 付款人必须有 BancaNet Directo 的网上银行账户。
注册 BancaNet Directo
注册期间您必须指定以下数据,这些数据必须经过 Mastercard Gateway 的同意。
Merchant Domain URL
: 这是用于将付款人浏览器重定向到 BancaNet Directo 网上银行网站的源 URL。 使用 https://in.gateway.mastercard.com/api/bpui/bn/out/Merchant Destination URL
: 这是付款人在 BancaNet Directo 网上银行网站成功完成付款后被重定向到的目标 URL。 使用 https://in.gateway.mastercard.com/api/bpui/bn/in/
在 BancaNet 注册后,您需要向 your payment service provider 提供以下 BancaNet Directo 账户详细信息:
- 商家收单行 ID 是您在签订 BancaNet Directo 合同时指定的 Banamex 电子银行 ID
- 资金从付款人账户转到的目标账户的银行账户详细信息。
- 银行账户标识符
- 银行账户的账号
- 为银行账户配置的货币
- 付款参考类型是您在签订 BancaNet Directo 合同时指定的付款参考的格式。 例如,数字、字母数字等。
- 企业编号(仅当付款参考类型为"过账行 B"时需要)
- 签订 BancaNet Directo 合同时指定的存款顺序。
使用这些详细信息, your payment service provider 将完成 Merchant Manager 中的配置。
向您的集成添加 BancaNet Directo
您可以使用以下集成选项将 BancaNet Directo 添加到集成中。
如果您使用网关的付款页 (Hosted Checkout),BancaNet Directo 在以下情况下会作为结账选项向付款人自动提供:
- your payment service provider 已在您的商家配置文件上配置了 BancaNet 收单行链接。
- 您使用的是 API 版本 11 或更高版本。
有关详细信息,请参阅通过 Hosted Checkout 集成进行浏览器付款。
但是,如果您希望支持付款参考类型“过账行 A”,您必须在向网关提交 Create Checkout Session 请求时提供 BancaNet 字段。 请注意,提交此请求时,必须使用 API 版本 59 或更高版本。
示例 Create Checkout Session 请求
URL | https://in.gateway.mastercard.com/api/rest/version/72/merchant/{merchantId}/session |
HTTP 方法 | POST |
{ "apiOperation": "CREATE_CHECKOUT_SESSION", "interaction" : { "operation" : "AUTHORIZE", "merchant" : { "url" : "https://example.com", "name" : "CaptureLine_A_Test" } }, "order" : { "id": "test1239089", "currency" : "USD" }, "transaction": { "bancanet": { "merchantPaymentReference":"Testing", "paymentDueDate":"2022-01-30", "paymentReason": "pay@test" } } }
通过 Direct Payment 集成,如果您使用的是 API 版本 11 或更高版本,您可以在自己的结账页提供 BancaNet Directo 付款方式。
要将 BancaNet Directo 添加到您的 Direct Payment 集成中,除了通过 Direct Payment 集成使用浏览器付款所需的标准字段外,还应在 Initiate Browser Payment 请求中提供以下字段。
sourceOfFunds.type
=BANCANET
- 请参阅 BancaNet Directo 字段
BancaNet Directo 字段
transaction.bancanet.paymentDueDate
: (可选)付款人应进行付款的截止日期。transaction.bancanet.paymentReason
: (可选)付款原因,例如,“Pago de tarjeta”。 此原因在 BancaNet Directo 网站上向付款人显示。transaction.bancanet.merchantPaymentReference
: (可选)付款的付款参考。 网关根据您的商家配置文件上配置的 BancaNet 付款参考类型生成付款参考; 但是,有一些条件要求。
付款参考类型 商家付款参考 条件 1 - 数字 网关使用 MOD-97 算法生成付款参考。 MOD-97 算法使用以下数据计算参考:
- 在您的网关商家配置文件中配置的银行标识符
- 在您的网关商家配置文件中配置的银行账号
- 自动生成的数字参考
- 自动生成的字母数字参考
- 校验码
您必须在 BancaNet 上进行 MOD-97 算法配置。 否则,BancaNet 不会接受网关发送的付款参考为有效参考,因而拒绝付款。 2 - 字母数字 3 - 数字和字母数字 4 - 过账行 A 网关不支持生成付款参考。 如果您不提供值,网关将拒绝付款。 - 5 - 过账行 B 网关使用 Type Zero 算法生成付款参考。 Type Zero 算法使用以下数据计算参考:
- 在您的网关商家配置文件中配置的企业编号
- 您提供的
transaction.reference
的值 - 校验码
如果您没有为字段“transaction.reference”提供值和/或未在 BancaNet 上进行 Type Zero 算法配置,网关将拒绝付款。
示例 Initiate Browser Payment 请求
URL | https://in.gateway.mastercard.com/api/rest/version/72/merchant/{merchantId}/order/{orderid}/transaction/{transactionid} |
HTTP 方法 | PUT |
{ "apiOperation" : "INITIATE_BROWSER_PAYMENT", "browserPayment" : { "operation" : "PAY", "returnUrl" : "<returnURL>" }, "order" : { "amount" : "399", "currency" : "MXN" }, "sourceOfFunds" : { "type" : "BANCANET" }, "transaction" : { "reference": null, "bancanet" : { "merchantPaymentReference" : "131234345", "paymentReason" : "test" } } }
如何解释交易结果
BancaNet Directo 仅在 BancaNet Directo 网站的付款成功完成后将付款人浏览器重定向到返回 URL(在发起付款时由您提供)。 在任何其他情况下(例如,付款被取消或付款完成后浏览器丢失),BancaNet Directo 不会将浏览器返回到您的网站。
下表显示了在发起浏览器付款后您可能遇到的可能出现的情景的交易响应代码。
Initiate Browser Payment 响应 | 具体含义... |
---|---|
response.gatewayCode=SUBMITTED result=SUCCESS |
使用响应中提供的 URL 重定向付款人。 |
Retrieve Transaction/Retrieve Order 响应 | 具体含义... |
response.gatewayCode=APPROVED result=SUCCESS |
付款成功。 |
response.gatewayCode=UNKNOWN result=FAILURE |
网关无法查明付款是否成功。 |