Skip to main content

Capture — Record Actual Amount

Process

  • Merchant calls the Capture API to record the held amount after successful Authorization above.
  • Only applies to transactions that have been Authorized previously.
  • If the requested capture amount is less than total authorized amount, Baokim will treat this as Partial Capture, and the remaining amount will automatically reverse after 5-7 days.
  • After transaction completes Capture, reversal is no longer possible. Use Void/Refund to cancel/refund the transaction instead.

API Information

Method:

URL:

Request

Main Parameters Table

No.Field NameData TypeRequiredDescription
1request_idString(100)Unique request ID
2request_timeString(20)Request send time. Format: YYYY-MM-DD H:i:s
3master_merchant_codeString(50)Unique Master Merchant identifier
4sub_merchant_codeString(50)Unique Sub Merchant identifier
5order_codeString(50)Baokim order code from Authentication step
6capture_amountNumberCapture amount
7descriptionString(255)Transaction description
8extendObjectExtended data

Extend Information

No.Field NameData TypeRequiredDescription
1billingObjectPayer information

Extend.billing Information

No.Field NameData TypeRequiredDescription
1firstnameString(255)Payer first name
2lastnameString(255)Payer last name
3addressString(500)Payer address
4cityString(50)City (Example: HANOI)
5stateString(255)State/Province
6countryString(2)Country ISO2 (Example: VN)
7emailString(255)Payer email
8phoneString(10)Phone number
9postal_codeString(6)Postal code

Example Request

{
"request_id":"MERCHANT050015588AXE012",
"request_time":" 2020-08-11 14:41:00 ",
"master_merchant_code": "MASTER_MERCHANT",
"sub_merchant_code": "SUB_MERCHANT",
"capture_amount":10100000,
"extend": {
"billing": {
"firstname": "A",
"lastname": "NGUYEN VAN",
"address": "313 Truong Chinh, Dong Da",
"city": "HANOI",
"state": null,
"country": "VN",
"email": "[email protected]",
"phone": "0394899999",
"postal_code": "10000"
}
},
"description": "description GD capture"
}

Response

Main Parameters Table

No.Field NameData TypeRequiredDescription
1codeNumber(3)Baokim error code
2messageString(200)Baokim error message
3dataObjectData returned by Baokim

Data Information

No.Field NameData TypeRequiredDescription
1order_codeStringBaokim order code
2bank_codeString(50)Bank code
3capture_statusNumberCapture status: 0 = Pending, 1 = Captured, 2 = Partial Captured, 3 = Fail
4statusNumberOverall order status
5capture_amountNumberCapture amount
6total_amountNumberTotal order amount
7extendObjectExtended data

Example Response

{
"code": 0,
"message": "Success",
"data": {
"order_code": "VLAD_1753867524",
"bank_code": "970415",
"capture_status": 1,
"status": 1,
"capture_amount": 10100000,
"total_amount": 10100000,
"extend": {}
}
}

Error Code Table

Error CodeDescription
100Success
11Failed
101Baokim system error
104OAuth authentication error
105Signature authentication error
422Validation error: RequestId invalid
422Validation error: RequestTime invalid
422Validation error: PartnerCode invalid
422Card_data invalid
422Amount invalid
301Order not found by order_code
302Card issue (does not exist, expired)
303Card declined
304Insufficient card balance
305User cancelled transaction
306Incorrect OTP
308Transaction has not completed Authentication
309Transaction has not completed Authorization
310Transaction already reversed — cannot capture
311Transaction already captured — cannot reverse
313Bank-side processing error