| Body 参数 | 是否必填 | 说明 |
|---|---|---|
merchantTransInfo | M | 支付的参考信息,包括唯一的 merchantTransID,以及表示您发起请求时间的 merchantTransTime。 |
transAmount | M | 支付的币种(currency)和金额(value)。金额必须符合该币种的最小单位规则。 |
transInitiator | M | 发起交易的设备信息。 |
storeInfo | O | 补充的门店信息。当您的门店在 EVO Payment 中配置了多个 MCC 时,需通过该字段指明本次支付使用的 MCC。 |
tradeInfo | O | 当 paymentMethod.e-wallet.paymentBrand 为 Alipay 时必填,用于说明本次支付的详细信息。 |
Webhook | O | 接收通知的 URL。传入该参数后,支付成功时将收到 EVO Payment 的通知。 |
Metadata | O | 您可在请求中自定义的参考信息,会在响应中原样返回。除 GET 请求外,响应中的 metadata 与您请求中的 metadata 相同;GET 响应中的 metadata 与 POST 请求中的 metadata 相同;通知中的 metadata 也与 POST 请求中的 metadata 相同。 |
paymentMethod.type:请求中设置为 e-wallet。paymentMethod.e-wallet.paymentBrand:用户付款码的原始数据。action 对象,您可以直接进入步骤 5,根据 result.code 和 payment.status 向用户展示支付结果。action 对象发送到终端,然后进入下一步。action 对象的响应示例:action 对象,需要根据 action.type 执行下一步操作。| Action 类型 | 说明 | 后续步骤 |
|---|---|---|
presentQRCode | 适用于线下门店支付的 MPM 场景。使用 action.qrData 对象中的数据渲染二维码,随后向用户展示二维码,用户需使用电子钱包 APP 扫码支付。 | 1. 您可以选择从服务端向 EVO Payment 接口 /g2/v1/payment/mer/{sid}/payment 发起 HTTP GET 请求获取支付结果。详情请参阅步骤 4。2. 或者等待通知 Webhook 获取支付结果。详情请参阅 After Payment(支付后处理)章节。 |
paymentScenario 为 instore 且 inStorePaymentScenario 为 MPM 时,您需要展示二维码供用户扫码支付。之后,如果您未使用 Accept Notification(接收通知)Webhook,可以向 EVO Payment 发起请求查询支付结果。| 查询参数 | 是否必填 | 说明 |
|---|---|---|
merchantTransID | M | 待查询支付的 merchantTransInfo.merchantTransID。 |
action 对象,与步骤 2 类似,需要执行后续步骤才能完成支付。您需要将 action 对象发送到终端,然后返回步骤 3 执行所需操作。action 对象,您可以进入步骤 5,根据 result.code 和 payment.status 向用户展示支付结果。payment 对象,展示本次支付的详细信息:payment.status:本次请款的状态,必填,取值可为 Pending、Cancelling、Cancelled、Captured、Refunding、Refunded、Partial Refunded 或 Failed。详情请参阅《EVO Payment API 规范》。payment.failureCode:支付的错误码,当 payment.status 为 Failed 时返回。payment.failureReason:支付的错误信息,当 payment.status 为 Failed 时返回。payment.transAmount:支付的币种和金额,必填,从您的请求中原样返回。payment.merchantTransInfo:支付的参考信息对象,必填,由您的服务端生成,从您的请求中原样返回。payment.evoTransInfo:支付的参考信息对象,必填,由 EVO Payment 生成。包含 evoTransID、evoTransTime、traceNum(可选),以及部分 PSP(如 Visa 或 Mastercard)的 retrievalReferenceNum。payment.pspTransInfo:请款的参考信息对象,可选,由 PSP 生成。包含 pspTransID、pspTransTime 和 authorizationCode。如果 PSP 返回了这些信息,EVO Payment 会将其转发给您的服务端。payment.billingAmount 和 payment.billingFXRate:用户账单币种及金额,以及 payment.transAmount.currency 与 payment.billingAmount.currency 之间的汇率(如有)。如果 PSP 返回了这些信息,EVO Payment 会将其转发给您的服务端。适用于 PSP 进行货币转换的部分电子钱包支付场景,或您开通 DCC 功能的部分银行卡支付场景。详情请联系 EVO Payment 客户经理。payment.convertTransAmount 和 payment.convertTransFXRate:交易发送至 PSP 时,EVO Payment 根据 transAmount 及 transAmount.currency 到其他币种的汇率计算出的币种和金额,以及 payment.transAmount.currency 与 payment.convertTransAmount.currency 之间的汇率。当您在 EVO Payment 开通货币转换功能且本次请款使用了货币转换时,会提供该汇率。详情请联系 EVO Payment 客户经理。paymentMethod.e-wallet.walletName:支付品牌为 Alipayplus 时的子钱包名称。result.code 和 payment.status 告知用户支付状态。| Result Code | Description |
|---|---|
S0000 | Success |
V0008 | Field {} is not applied with {...} |
C0004 | Request resource merchantTransID {XXX} not exist |
B0005 | Unsupported function {XXX}, please check your profile setup in EVO Payment |
B0006 | Unsupported payment brand {XXX}, please check your profile setup in EVO Payment |
B0033 | The transaction was rejected for security violation |
result.code 取值以及可向用户展示的推荐提示语,请参阅*《EVO Payment API 规范》附录*。result.code 为 S0000,您需要检查 payment.status 来判断支付状态并告知用户。| 状态 | 说明 |
|---|---|
| Captured | 银行卡交易表示授权和请款均已成功完成;电子钱包交易表示交易已成功完成。 |
| Failed | 支付失败。 |
payment.status 取值及说明,请参阅《EVO Payment API 规范》中的 payment.status。