Capture
约 1158 字大约 4 分钟
2025-03-07
业务流程
对于支持单独Capture(捕获)的支付方式(如国际信用卡支付),支付过程分为两个步骤完成:
- Authorization:验证购物者的支付细节与发行方,并预留资金。
- CAPTURE:将预留的资金从购物者转移到您的账户。
支持的Capture策略
- 自动Capture(捕获):支付在授权后立即被捕获。这是默认设置。
- 手动Capture(捕获):您通过向 CAPTURE-预授权权确认 API发起请求来捕获每笔支付。
自动Capture
这是默认行为,无需设置。请求支付后,将会自动进行Capture,您只需设置交易异步通知监听交易状态变更。 当您收到SUCCESS状态,即代表交易成功,无需调用CAPTURE-预授权权确认API
不同场景获取的状态
手动Capture
step 1 启用手动Capture
要使用手动Capture,您必须手动设置启用特性,在请求下单接口或者下单并支付时候captureDelayHours设置为-1,并且所使用的支付方式支持手动Capture
| captureDelayHours | 备注 |
|---|---|
0 | 下单之后立即自动capture,无需手动调用CAPTURE-预授权权确认 |
-1 | 手动capture,成功之后还需要调用下CAPTURE-预授权权确认,本地支付不支持 |
step 2 确认执行Capture的时机
当您在请求支付时候,设置了启用手动Capture,您需要在合适的时机调用CAPTURE-预授权权确认API。
执行Capture,必须在Authorization获取批准之后。因此您必须在支付接口的同步响应或者交易异步通知收到AUTH_SUCCESS-预授权成功状态后,再结合您的实际业务情况调用调用CAPTURE-预授权权确认API。
step 3 设置关键参数
要调用CAPTURE-预授权权确认API,您需要设置一些重要的参数
merchantTransactionId,从付款响应或异步通知中可以Capture(捕获)的授权的merchantTransactionId。merchantCaptureId,请求Capture的流水号,全局唯一,每次请求都必须不同。notificationUrl,调用Capture后,同步响应中可能会是PROCESSING状态,当您设置了notificationUrl时,Capture的状态将会通知到notificationUrl设置的URL上,报文详见预授权确认通知
step 4 处理Capture状态
当我们处理完您的Capture请求后,我们将向您发送一个异步通知,报文详见预授权确认通知。
提示
当您收不到异步通知或者无法确认状态的情况,您可以调用预授权确认查询
根据status取值:
SUCCESSCapture成功,此时交易完成,预留的资金从购物者转移到您的账户FAILEDCapture失败,交易失败,资金将会持续冻结,直到执行VOID,或者Authorization过期,资金自动释放。
不同情况下获取的状态
多次Capture
CAPTURE-预授权权确认 API 根据merchantCaptureId幂等,您可以安全的多次调用。
提示
目前暂不支持部分CAPTURE,CAPTURE的总金额必须等于交易金额
- 当
merchantCaptureId相同时候,重新调用CAPTURE-预授权权确认 API,您将会获取到查询结果。 - 当您调用CAPTURE-预授权权确认 API失败需要重试时候,您需要更新
merchantCaptureId重新发起请求。
