Skip to main content

Capturing a Payment

Capture is used after authorizing a payment, as authorization alone doesn't transfer the funds it only puts them on hold. To complete the transaction and move the money to your account, the payment must be captured within a set timeframe usually 5-7 days maximum.

Amazon Payment Services provides merchants with flexible options to capture payments according to their business needs and technical capabilities. You can choose the method that best suits your workflow and integration requirements.

Prerequisites

Before capturing a payment, ensure you have:

  1. Valid Authorization
    The payment must be in an authorized state with a valid merchant reference or Fort ID from the original authorization transaction.

  2. Security Credentials
    Retrieve your integration credentials from the merchant dashboard:

    1. Log into your Amazon Payment Services account
    2. Navigate to Merchant ManagementSecurity Settings
    3. Save the following values:
      • Access Code - Authentication token for API requests
      • Merchant Identifier - Your unique merchant ID
      • SHA Request/Response - Keys for signature calculation

Capture Methods

Through the Dashboard

You can use Amazon Payment Services dashboard to capture a payment by following these steps:

1

Access Transaction Management

Login to your Amazon Payment Services account and navigate to Order Transaction Management tab.

2

Search for Transaction

Search for the transaction you need to capture by using its merchant reference or fort ID.

3

Capture Payment

Choose Capture from the Action button on the right. Enter the amount you need to capture (either partial or full), then click on Confirm.

The system will not allow you to capture an amount larger than the authorized amount.

Through the API

For more advanced options, you can use our capture API. Requests should be sent as POST JSON from the backend.

API Endpoints

https://sbpaymentservices.PayFort.com/FortAPI/paymentApi

Request Sample

JSON
{
"command": "CAPTURE",
"access_code": "s4lwuuoY5upZlZY5D6dr",
"merchant_identifier": "WeVJHPYm",
"merchant_reference": "Test",
"amount": "300",
"currency": "AED",
"language": "en",
"signature": "{{signature}}"
}

Make sure merchant reference value matches the merchant reference used in the original authorization request.

Refer to our Signature Calculation Guide for detailed implementation instructions and code examples.

Response Sample

Response Sample
{
"response_code": "04000",
"amount": "100",
"signature": "d9c7e2dd9fabd8c224612172be506415b8b1e5067a6c307b237b2d9bce18bc26",
"merchant_identifier": "WeVJHPYm",
"access_code": "s4lwuuoY5upZlZY5D6dr",
"language": "en",
"fort_id": "169996200024059857",
"command": "CAPTURE",
"response_message": "Success",
"merchant_reference": "Test",
"currency": "AED",
"acquirer_response_code": "00",
"status": "04"
}

Multiply your transaction amount by the currency decimal code per ISO code 3 before sending the amount parameter. For currencies with three-decimal codes, round VISA transactions to zero in the final decimal place to avoid declined transactions. Example For 500 AED (2 decimal places per ISO code 3), multiply by 100 to send 50000 in your request.

To get a detailed view of all required and optional fields, see our API reference.

Check transaction status

To check the transaction status, check the Check a Transaction Status section.

Handling the response

If you have a webhook, check the webhook section to understand how we send transaction responses to your system.

Through Batch

To bulk capture payments, you need to upload a batch file for automated capture.
Visit Batch section to learn more.

Was this page helpful?

Thanks for your feedback!