Skip to main content

Capture

Capture an authorized card payment to finalize the charge and settle funds.

Use this API when a payment was initiated with capture: "false" (onetime, tokenization, or direct charge) and is currently Authorized.


Endpoint

MethodPOST
Path/cards/capture
Sandboxhttps://sandbox.simpaisa.com/cards/capture

Headers

HeaderValue
client-idYour Client ID (e.g. YOUR_CLIENT_ID)
Content-Typeapplication/json
merchantIdYour unique merchant ID (e.g. YOUR_MERCHANT_ID)
modecards
regionPK
versionV5

Request Body

ParameterRequiredDescription
request.referenceYesReference of the authorized transaction to capture
signatureYesRSA signature of the request object

Response Body

ParameterDescription
response.idUnique payment ID
response.action_idUnique action ID for the capture
response.approvedWhether the capture is approved
response.statusCaptured on success; Declined on rejection
response.response_codeOutcome code — 10000 on success. 40025 if the reference belongs to a zero-amount tokenization transaction
response.response_summaryHuman-readable outcome
response.transaction_state.CAPTURE_STATUSSUCCESS on success — absent on decline
response.sourceSource ID/type
response.referenceReference from the request
response.transaction_idSimpaisa transaction ID
signatureRSA signature of the response body

Samples

Request

curl --location 'https://sandbox.simpaisa.com/cards/capture' \
--header 'client-id: YOUR_CLIENT_ID' \
--header 'merchantId: YOUR_MERCHANT_ID' \
--header 'mode: cards' \
--header 'region: PK' \
--header 'version: V5' \
--header 'Content-Type: application/json' \
--data-raw '{
"request": { "reference": "h388-1782917244521" },
"signature": "YOUR_SIGNATURE"
}'

Response

{
"response": {
"id": "pay_28f3d06b5e2445858994eaa032",
"action_id": "act_7f56443d348048c0a1989ab39a",
"approved": "true",
"status": "Captured",
"response_code": "10000",
"response_summary": "Approved",
"transaction_state": {
"CAPTURE_STATUS": "SUCCESS"
},
"source": {
"id": "src_841d885af66f47a3b0ec69bf63",
"type": "CARD"
},
"processed_on": "2026-07-01T14:49:17Z",
"reference": "h388-1782917244521",
"transaction_id": "3282"
},
"signature": "YOUR_SIGNATURE"
}

This behavior is unchanged for Tokenization (non-zero amount) transactions authorized with capture: "false" — capturing them succeeds the same way, and c_token remains retrievable via Inquiry afterward.

Postback After Capture

See Postbacks for the asynchronous notification sent after capture, or use Inquiry to confirm status directly.