- HTTP 请求
- 请求正文
- 响应正文
- CaptureResult
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表示法
- CaptureResultCode
- RawResult
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表示法
- CaptureResultNotificationResultCode
调用 capture 或 asynchronousCapture 方法后,将拍摄结果通知 Google。
captureResult 值对此 captureRequestId 具有幂等性,因此在后续调用此方法时无法更改其值。
如果端点在处理请求时遇到错误,来自此端点的响应将是 类型。ErrorResponse
如果此方法没有返回 HTTP 200,则对此查询的响应可能为空。如果包含明确说明的 可用于帮助攻击者了解其他集成商的付款集成商账号标识符,则响应正文为空。在这些情况下,如果签名密钥不匹配、未找到付款集成商标识符或加密密钥未知,此方法将返回正文为空的 HTTP 404。如果可以验证请求签名,则会在响应正文中返回有关错误的其他信息。ErrorResponse
示例请求如下所示:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "KcgwSKrV76eVNDUbsZ4UA3",
"requestTimestamp": "1481852928293"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"captureRequestId": "awNaC510cefae3IJdNEvW2",
"captureResult": {
"captureResultCode": "SUCCESS"
}
}
示例响应如下所示:
{
"responseHeader": {
"responseTimestamp": "1481852928324"
},
"result": "SUCCESS"
}
HTTP 请求
POST https://vgw.googleapis.com/secure-serving/gsp/v1/captureResultNotification/:PIAID
请求正文
请求正文中包含结构如下的数据:
| JSON 表示法 |
|---|
{ "requestHeader": { object ( |
| 字段 | |
|---|---|
requestHeader |
必需:所有请求的通用标头。 |
paymentIntegratorAccountId |
必需:发生捕获的付款集成商账号标识符。 |
captureRequestId |
必需:此交易的唯一标识符。这是 Google 在与此请求关联的 这是一个长度上限为 100 个字符的字符串,并且仅包含字符“a-z”、“A-Z”、“0-9”、“:”、“-”和“_”。 |
captureResult |
必需:此捕获的结果。 |
paymentIntegratorTransactionId |
可选:此标识符专用于集成商,由集成商生成。这是集成商用于识别此交易的标识符。 为方便起见,汇款详情中已包含此标识符 |
响应正文
captureResultNotification 方法的响应对象。
如果成功,响应正文将包含结构如下的数据:
| JSON 表示法 |
|---|
{ "responseHeader": { object ( |
| 字段 | |
|---|---|
responseHeader |
必需:所有响应的通用标头。 |
result |
必需:此调用的结果。 |
CaptureResult
有关拍摄最终结果的信息。
| JSON 表示法 |
|---|
{ "captureResultCode": enum ( |
| 字段 | |
|---|---|
captureResultCode |
必需:此捕获的结果代码。 |
rawResult |
可选:此拍摄的原始结果。用于帮助了解 Google 的风险引擎和分析数据。在拒绝代码映射的情况下,数据有时会丢失。集成商可以选择向 Google 提供原始代码。例如,信用卡网关(集成商)可能会使用此字段向 Google 传达从 VISA 网络收到的确切拒绝代码。在这种情况下, 如果 |
联合字段
|
|
transactionMaxLimit |
可选:如果 此数值以与原始 |
transactionMinLimit |
可选:如果 此数值以与原始 |
currentBalance |
可选:如果结果为 此值必须采用与请求中的 |
CaptureResultCode
拍摄的结果代码。
| 枚举 | |
|---|---|
UNKNOWN_RESULT |
切勿设置此默认值! |
SUCCESS |
拍摄成功。 |
CHARGE_UNDER_TRANSACTION_LIMIT |
请求的收款金额未达到集成商每笔交易的最低金额。如果使用此代码,请在 transactionMinLimit 字段中填充用于向用户显示消息的最低交易金额。 |
CHARGE_EXCEEDS_TRANSACTION_LIMIT |
请求的捕获量超出了集成商的每事务上限。如果使用此代码,请使用交易限额填充 transactionMaxLimit 字段,以方便向用户显示消息。 |
CHARGE_EXCEEDS_DAILY_LIMIT |
用户的账号已超出每日限额,因此目前无法用于购买。 |
CHARGE_EXCEEDS_MONTHLY_LIMIT |
用户的账号已超出每月限额,因此目前无法用于购买交易。 |
INSUFFICIENT_FUNDS |
此账号没有足够的资金来保证拍摄此照片。 |
SUSPECTED_FRAUD |
集成商有理由怀疑此交易为欺诈性交易。 |
ACCOUNT_CLOSED |
由集成商持有的用户账号已关闭。此返回值会导致用户的付款方式被 Google 关闭。系统将强制要求用户添加新的付款方式。 |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
集成商的用户账号已关闭,因为账号疑似被接管。此返回值会导致用户的付款方式被 Google 关闭。系统将强制要求用户添加新的付款方式。 |
ACCOUNT_CLOSED_FRAUD |
由于欺诈,用户在集成商处持有的账号已被关闭。此返回值会导致用户的付款方式被 Google 关闭。系统将强制要求用户添加新的付款方式。 |
ACCOUNT_ON_HOLD |
用户的账号已暂停。 |
OTP_NOT_MATCHED |
动态密码与集成商发送的内容不符。 |
OTP_ALREADY_USED |
动态密码已被使用。 |
CAPTURE_REQUEST_EXPIRED |
集成商获取用户的资金的用时过长。Google 会将此遭拒交易视为最终状态,因此集成商必须确保用户的资金日后不会被扣款,或者在扣款成功后自动为用户退款。 |
INVALID_PIN |
用户提供的 PIN 码无效。 |
OS_LOCK_FAILED |
此付款流程要求进行操作系统锁定质询,并且用户未能解锁设备。 |
PIN_ENTRY_ATTEMPTS_EXHAUSTED |
此付款流程要求用户输入 PIN 码。用户输错 PIN 码的次数已经达到上限。 |
USER_EXITED_PAYMENT_FLOW |
用户取消了所有付款尝试(在操作系统锁定或 PIN 码输入屏幕上取消)。 |
MONTHLY_FREQUENCY_LIMIT_EXCEEDED |
用户的账号已超出每月交易尝试次数上限,因此目前无法用于购买。 |
DECLINED_BY_ISSUER |
切勿在稳定状态下使用此拒绝代码。它作为一个临时的通用代码,在集成商遇到来自用户付款方式的基础发行商的未知拒绝代码时使用。当集成商确定要使用的更合适的结果代码或协商向此规范添加新结果代码时,可以使用此结果代码。 需要注意的是,此拒绝代码非常真实。在 Google 看来,这笔付款是永久遭拒。如果集成商返回此代码,则负责追踪发卡机构代码的实际含义,并在发现代码实际代表 如果此拒绝代码用于同一底层拒绝代码超过一定天数,Google 会将其视为错误,并会根据与错误修复相关的任何合同惩罚跟踪此代码。 |
RawResult
原始结果对象。
| JSON 表示法 |
|---|
{ "scope": string, "rawCode": string } |
| 字段 | |
|---|---|
scope |
可选: rawCode 的范围可以为空。 |
rawCode |
必需:来自集成商或其中的子系统的原始代码。 |
CaptureResultNotificationResultCode
captureResultNotification 方法的结果代码。
| 枚举 | |
|---|---|
UNKNOWN_RESULT |
切勿设置此默认值! |
SUCCESS |
拍摄结果通知已成功处理。 |