# 请款 ## 介绍 银行卡交易中,一般会包含授权和请款两个步骤: **授权**:指在顾客提交支付时,向发卡行请求确认这笔交易是否可以进行。当发卡行允许授权,银行会冻结相应金额,但并不会真正划账。 **请款**:指商户在完成商品交付或服务提供后,向收单机构发起请求,将之前已授权的金额真正划转到账。 请款分为两种模式: - 自动请款,在授权的同时完成请款。默认为自动请款。 - 手动请款,授权后手动发起请款。 注意请款需要在授权后的 7 个自然日内完成,否则该笔交易将自动撤销。 ## 授权 ### 设置自动请款 自动请款是默认的请款方式,在授权成功后自动完成请款,禁止手动请款。 > webhook 通知包含授权成功通知 请求示例 [Initiate Transaction](/zh-hans/payments/apis/payments/openapi/交易/payments-opl_1) ```json { ... "capture_method": "AUTOMATIC", "merchant_id": "18356675194960", "payment_type": "PURCHASE", "trans_id": "m1721xxx938999", "currency": "USD", "amount": "300", "payment": { "payment_method": "BANKCARD", "shopper_reference": "myuserid001", "card_no": "4242424242424242", "exp_year": "2031", "exp_month": "07", "cvv": "123", "holder_name": "lisa" } ... } ``` ### 设置手动请款 手动请款需要商户在授权成功后,您可以在收到授权成功后任何时间手动发起请款(例如在货物发货后),并且您可以在请款前任何时间取消付款(例如发货有问题) > webhook 通知包含授权成功通知 请求示例 [Initiate Transaction](/zh-hans/payments/apis/payments/openapi/交易/payments-opl_1) ```json { ... "capture_method": "MANUAL", "merchant_id": "18356675194960", "payment_type": "PURCHASE", "trans_id": "m1721xxx938999", "currency": "USD", "amount": "300", "payment": { "payment_method": "BANKCARD", "shopper_reference": "myuserid001", "card_no": "4242424242424242", "exp_year": "2031", "exp_month": "07", "cvv": "123", "holder_name": "lisa" } ... } ``` ## 请款 请求示例 [Capture](/zh-hans/payments/apis/payments/openapi/请款和撤销/payments-capture-opl_1) ```json { "merchant_id": "18356675194960", "order_id": "GW20620xxxxx6999", "currency": "USD", "amount": "300", "capture_final": true } ``` 成功响应示例 ```json { "ret_code": "000000", "ret_msg": "Success", "data": { "merchant_id": "18356675194960", "order_id": "GW20620xxxxx6999", "currency": "USD", "amount": "300" } } ``` 失败响应示例 ```json { "ret_code": "010000", "ret_msg": "Invalid request" } ``` ## 部分请款 请求示例 [Capture](/zh-hans/payments/apis/payments/openapi/请款和撤销/payments-capture-opl_1) ```json { "merchant_id": "18356675194960", "order_id": "GW20620xxxxx6999", "currency": "USD", "amount": "100", "capture_final": true } ``` 成功响应示例 ```json { "ret_code": "000000", "ret_msg": "Success", "data": { "merchant_id": "18356675194960", "order_id": "GW20620xxxxx6999", "currency": "USD", "amount": "100" } } ``` 失败响应示例 ```json { "ret_code": "010000", "ret_msg": "Invalid request" } ``` ## 结果通知 参考 [Webhook](/zh-hans/payments/docs/developer-resources/webhook)