payment.status 为 Captured 的 capture 结果时,可以从您的服务器向 EVO Cloud 端点| 查询参数 | 必填 | 说明 |
|---|---|---|
merchantTransID | M | 初始 Payment 的 merchantTransInfo.merchantTransID。 |
| Body 参数 | 必填 | 说明 |
|---|---|---|
merchantTransInfo | M | 本次 refund 的引用信息,包含唯一的 merchantTransID 和 merchantTransTime(发起请求的时间)。 |
transAmount | M | refund 支付的币种与金额。金额须符合该币种的最小货币单位。 |
initiatingReason | O | 可在该字段中说明本次请求的原因。 |
webhook | O | 用于接收通知的 URL。指定后可在支付成功后从 EVO Cloud 接收通知。 |
paymentMethod | O | 支付方式对象。 |
paymentMethod.type | O | 本文档场景下须为 card。 |
metadata | O | 您可在请求中自定义的引用信息,将在响应中原样回显。 |
paymentMethod.type:请求中设置为 card。paymentMethod.card.encryptedCardInfo:加密后的卡信息。如果使用 EVO Cloud 客户端方案安全加密用户卡信息,前端会从 EVO Cloud SDK 获取该值,需发送至您的服务器,再由服务器原样转发至 EVO Cloud。paymentMethod.card.cardInfo:卡信息原始数据。如果将原始卡数据采集并发送至 EVO Cloud,需要在此对象中指定 cardNumber、expiryDate、cvc(可选)、track2 与 holderName。对于部分 UnionPay 借记卡,expiryDate 也为可选。paymentMethod.card.encryptedCardInfo 和 paymentMethod.card.cardInfo 同时存在,将以 paymentMethod.card.cardInfo 为准。)paymentMethod.card字段| 字段路径 | 必填/选填 | 条件 | 说明 |
|---|---|---|---|
paymentMethod.card | M | paymentMethod.type=card | 卡相关交易对象。 |
paymentMethod.card.encryptedCardInfo | O | 已批准加密卡集成方案 | 加密卡信息。 |
paymentMethod.card.cardInfo | O | 已批准卡信息集成方案 | 卡信息容器。 |
paymentMethod.card.cardInfo.cardNumber | M | 手动/MOTO 或最终 schema 要求 | 卡号。在示例或测试数据中请勿使用真实值。 |
paymentMethod.card.cardInfo.expiryDate | O | MOTO 必填 | 过期日期,MMYY 格式。 |
paymentMethod.card.posEntryMode | O | POS 卡通道 | 卡数据输入方式。 |
paymentMethod.card.pinFlag | O | 终端支持 PIN | true 表示终端可接受 PIN;false 表示不接受。 |
paymentMethod.card.termReadability | O | 提供终端能力时 | 终端卡数据输入能力。 |
paymentMethod.card.icCardCondCode | O | UnionPay IC 场景 | UnionPay 卡条件码。 |
paymentMethod.card.noSecretNoSignFlag | O | UnionPay 场景 | UnionPay 无密/无签标识。 |
paymentMethod.card.cardInfo.track1 | O | 磁条或特定通道要求 | Track 1 数据。最终字段名以已批准的 schema 为准。 |
paymentMethod.card.cardInfo.track2 | O | 磁条、ICC、contactless 或 fallback 场景 | Track 2 数据。禁止以明文存储或记录。 |
paymentMethod.card.cardInfo.cardSequenceNum | O | ICC 或 contactless 场景 | IC 卡序列号。 |
paymentMethod.card.cardInfo.icCardData | O | ICC 或 contactless 场景 | EMV/ICC TLV 数据。 |
paymentMethod.card.pin | O | PIN 交易 | PIN 容器(如最终 schema 中包含)。 |
paymentMethod.card.pin.encryptedPin | M | PIN 交易 | 加密后的 PIN block。禁止以明文记录或持久化。 |
paymentMethod.card.pin.pinEncryptMethod | M | PIN 交易 | 已批准的 PIN 加密方式,例如支持时的 3DES。 |
paymentMethod.card.pin.checkValue | O | 启用密钥版本查询 | 用于识别适用工作密钥版本的值(如支持)。 |
| posEntryMode 模式 | 交易活动 | 典型条件数据 |
|---|---|---|
magnetic | 磁条读取 | track2 |
ICC | 接触式芯片插入 | track2 、icCardData 、cardSequenceNum |
contactless | NFC EMV 挥卡 | track2 、icCardData 、cardSequenceNum |
contactless magnetic | 使用磁条通道的 contactless 交易 | track2 |
fallback | EMV 回退至磁条 | track2 |
manual | 手工输入卡 | cardNumber 、expiryDate |
MOTO | 邮购/电话订购 | cardNumber 、expiryDate |
refund.status:本次 refund 的状态,必填。取值可为 Success、Failed 或 Received。如果 refund.status 为 Received,您需要再发起一次 HTTP GET 请求以获取 refund 的最终状态(详见 Step 2),或等待 EVO Cloud 的通知 webhook。refund.transAmount:refund 的币种与金额,必填。从您的请求中原样回显。refund.merchantTransInfo:本次 refund 的引用对象,由您的服务器生成,必填。从您的请求中原样回显。refund.evoTransInfo:本次 refund 的引用对象,由 EVO Cloud 生成,必填。包含 evoTransID、evoTransTime,以及部分 PSP(如 Visa 或 Mastercard)的可选字段 traceNum 与 retrievalReferenceNum。refund.pspTransInfo:本次 refund 的引用对象,由 PSP 生成,可选。包含 pspTransID、pspTransTime 与 authorizationCode。如果 PSP 返回,EVO Cloud 会将该信息从 PSP 转发至您的服务器。refund.billingAmount 与 refund.billingFXRate:refund 的用户账单币种与金额,以及 refund.transAmount.currency 与 refund.billingAmount.currency 之间的汇率,可选。如果 PSP 返回,EVO Cloud 会将该信息从 PSP 转发至您的服务器。适用于 PSP 进行货币换算的 E-Wallet 支付,或您启用了 DCC 功能的卡支付。详情请联系 EVO Cloud 客户经理。refund.convertTransAmount 与 refund.convertTransFXRate:EVO Cloud 在将交易发送至 PSP 时,基于 transAmount 与 transAmount.currency 到目标币种的汇率计算出的币种与金额,以及 refund.transAmount.currency 与 refund.convertTransAmount.currency 之间的汇率,可选。如果您在 EVO Cloud 启用了货币换算功能且本次 refund 适用,将提供该汇率。详情请联系 EVO Cloud 客户经理。refund.status 为 Received,且您未使用 notification webhook,可以从 EVO Cloud 查询最终结果。| 查询参数 | 必填 | 说明 |
|---|---|---|
merchantTransID | M | 初始 refund 的 merchantTransInfo.merchantTransID。 |
result.code 为 B0012,请再次核对响应消息中 payment.status 显示的原始交易状态。如果为 authorised,则表示该笔支付尚未被 captured,您无法 refund 该笔支付。这种情况下,您需要改用 cancel。详见 Cancel 章节。