- HTTP 请求
- 请求正文
- 响应正文
- MandateDetails
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表示法
- MandateWithNotificationDetails
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表示法
- CaptureContext
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表示法
- CaptureResultCode
在 Google 客户的账号与付款处理方之间发起资金转账。标头中的 requestId
和 paymentIntegratorAccountId
的组合是幂等键,可唯一标识此事务。对此交易(退款)的所有更改都会填充 captureRequestId
字段中的 requestId
值。
如果端点在处理请求时遇到错误,此端点的响应正文应为
类型。ErrorResponse
示例请求如下所示:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"requestTimestamp": "1502220196077"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ",
"transactionDescription": "Google - Music",
"currencyCode": "INR",
"amount": "728000000",
"captureContext": {}
}
示例响应如下所示:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "SUCCESS",
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
HTTP 请求
POST https://www.integratorhost.example.com/v1/capture
请求正文
请求正文中包含结构如下的数据:
JSON 表示法 |
---|
{ "requestHeader": { object ( |
字段 | |
---|---|
requestHeader |
必需:所有请求的通用标头。 |
paymentIntegratorAccountId |
必需:这是付款集成商账号标识符,用于标识有关此交易的合同限制。 |
transactionDescription |
必需:这是可以显示在客户对账单上的交易说明。已本地化为 |
currencyCode |
必需:ISO 4217 货币代码(由 3 个字母组成) |
amount |
|
captureContext |
必需:有关此捕获的上下文。 |
联合字段 fopDetails 。必需:此捕获交易的 FOP 详细信息。fopDetails 只能是下列其中一项: |
|
googlePaymentToken |
两家公司将用于识别彼此购买交易的账号的令牌。 |
mandateDetails |
与授权书相关的付款详细信息。 |
mandateWithNotificationDetails |
特定于授权书的付款详细信息,必须提供 |
联合字段
|
|
authenticationRequestId |
可选:关联身份验证请求的 如果存在此属性,则用户在此调用之前刚刚通过身份验证,或者在设置自动付款时间表时已通过身份验证。 |
otpVerification |
可选:验证通过 |
响应正文
拍摄方法的响应对象。
如果成功,响应正文将包含结构如下的数据:
JSON 表示法 |
---|
{ "responseHeader": { object ( |
字段 | |
---|---|
responseHeader |
必需:所有响应的通用标头。 |
paymentIntegratorTransactionId |
可选:此标识符专用于集成商,由集成商生成。这是集成商用于识别此交易的标识符。 为方便起见,汇款详情中已包含此标识符 |
userMessage |
DEPRECATED:结果不是 |
result |
必需:此捕获的结果。 |
rawResult |
可选:此拍摄的原始结果。用于帮助了解 Google 的风险引擎和分析数据。在拒绝代码映射的情况下,数据有时会丢失。集成商可以选择向 Google 提供原始代码。例如,信用卡网关(集成商)可能会使用此字段向 Google 传达从 VISA 网络收到的确切拒绝代码。在这种情况下, 如果 |
transactionLimit |
可选:如果 Result 为 此值必须是相对于请求中的 |
currentBalance |
可选:如果结果为 此值必须采用与请求中的 |
MandateDetails
有关要捕获的授权书的详细信息。
JSON 表示法 |
---|
{ "mandateId": string } |
字段 | |
---|---|
mandateId |
必需:在 |
MandateWithNotificationDetails
关于要从中捕获数据的授权书的详细信息,以及必需通知的详细信息。
JSON 表示法 |
---|
{ "mandateId": string, "upcomingTransactionNotificationId": string } |
字段 | |
---|---|
mandateId |
必需:在 |
upcomingTransactionNotificationId |
必需: |
CaptureContext
此对象提供有关请求捕获方式的上下文。
JSON 表示法 |
---|
{ "userIpAddress": string } |
字段 | |
---|---|
userIpAddress |
可选:如果购买行为是用户在会话中进行的,则这是用户设备的 IP 地址。如果用户未处于会话中,此字段将为空。如果特定合同没有规定需要此字段,此字段将始终为空。 |
CaptureResultCode
拍摄结果代码。
枚举 | |
---|---|
UNKNOWN_RESULT |
切勿设置此默认值! |
SUCCESS |
拍摄成功,交付商品。 |
CHARGE_EXCEEDS_TRANSACTION_LIMIT |
此捕获请求的amount 超出了每项事务的限制。如果使用此代码,请填写 transactionLimit 字段以传递用户信息。 |
CHARGE_EXCEEDS_DAILY_LIMIT |
此账号已超出每日上限,因此目前无法用于购买交易。 |
CHARGE_EXCEEDS_MONTHLY_LIMIT |
此账号已超出每月限额,因此目前无法用于购买交易。 |
CHARGE_UNDER_LIMIT |
此拍摄请求的amount 未达到最低交易金额。 |
INSUFFICIENT_FUNDS |
此账号没有足够的资金来保证拍摄此照片。 |
ACCOUNT_DOES_NOT_SUPPORT_CURRENCY |
此账号不支持所请求的货币。 |
ACCOUNT_CLOSED |
用户在集成商处拥有的账号已关闭。 返回此值将导致用户的付款方式被 Google 关闭。系统将强制要求用户重新执行关联流程以添加新的付款方式。 |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
该用户在集成商处的账号已关闭,因为账号疑似被接管。 返回此值将导致用户的付款方式被 Google 关闭。系统将强制要求用户重新执行关联流程以添加新的付款方式。 |
ACCOUNT_ON_HOLD |
此账号已暂停处理。 |
ACCOUNT_CLOSED_FRAUD |
由于欺诈行为,该用户在集成商处的账号已被关闭。 返回此值将导致用户的付款方式被 Google 关闭。系统将强制要求用户重新执行关联流程以添加新的付款方式。 |
GOOGLE_PAYMENT_TOKEN_INVALIDATED_BY_USER |
账号处于有效状态,但集成商一方的用户已使 GPT 失效。 返回此值将导致用户的付款方式被 Google 关闭。系统将强制要求用户重新执行关联流程以添加新的付款方式。 |
TOKEN_REFRESH_REQUIRED |
如果返回此值,用户需要完成刷新流程。 |
OTP_NOT_MATCHED |
动态密码与集成商发送的内容不符。 |
OTP_ALREADY_USED |
动态密码已被使用。 |
RISK_DECLINED |
由于集成商方面进行了风险检查,交易遭拒。 这笔付款是永久性的,但并不会导致 Google 关闭用户使用的付款方式。 |
NO_GOOD_FUNDING_SOURCE_AVAILABLE |
用户的账号中未配置任何能够为交易付款的有效资金来源。 |
FUNDING_SOURCE_UNAVAILABLE |
基础发行方或资金来源不可用,如果重试此现有付款,将无法成功。 当合作伙伴返回 4xx 或 5xx 响应代码时,Google 将重新尝试付款。因此,如果在基础资金来源再次可用时重试同一付款可能成功,合作伙伴通常应返回其中一个响应代码。但是,如果由于技术原因导致 Google 重新尝试付款仍然失败,合作伙伴可以返回“FUNDING_SOURCE_UNAVAILABLE”以告知 Google 不应再次支付同一笔款项。 注意:Google 仍可以重新尝试进行此付款,只是使用不同的 requestId,但此付款请求将被标记为“已拒绝”。 |
MANDATE_NOT_ACTIVE |
用于此次捕获的授权书已失效。此返回值会导致用户的授权书被 Google 关闭。 |
UPCOMING_TRANSACTION_NOTIFICATION_EXPIRED |
向用户发送的定期授权付款通知已过期。 |