Skip to main content

Batch Processing

Batch processing allows you to submit multiple payment transactions simultaneously, streamlining operations for recurring transactions, bulk refunds, captures, void authorizations, and payment link generation. This service significantly reduces processing time and simplifies transaction management for high-volume merchants.

How Batch Processing Works

The batch processing workflow follows these steps:

1

File Preparation

Create a CSV file with transaction data following our template format.

2

File Upload

Upload your batch file through the dashboard or API endpoint.

3

Validation

System validates file format and transaction data integrity.

4

Processing

Approved transactions are processed in bulk automatically.

5

Results

Receive detailed processing results and transaction status updates.

Supported Operations

Batch processing supports the following transaction types:

OperationDescriptionDashboard SupportAPI Support
Payment LinksGenerate multiple payment links for customersYesYes
RefundsProcess bulk refunds for completed transactionsNoYes
CapturesCapture multiple authorized transactionsNoYes
Void AuthorizationsCancel multiple pending authorizationsNoYes

When using the merchant dashboard, only payment link generation is supported. All other batch operations must be performed through the API.

Integration Options

Choose the integration method that best fits your workflow:

Through the Dashboard

The dashboard method provides a user-friendly interface for bulk payment link generation without requiring technical integration.

Prerequisites

Before using dashboard batch processing:

  1. Account Access - Access to your Amazon Payment Services merchant dashboard
  2. Batch Service Active - Ensure batch processing is enabled on your account, contact merchantsupport-ps@amazon.com to enable this service
  3. CSV Template - Download and use our standardized template

Integration Steps

1

Access Batch Invoicing

  1. Log into your Amazon Payment Services merchant dashboard
  2. Navigate to the Batch Invoicing tab in the main menu
  3. Click Download batch template file to get the CSV template

Batch Invoicing Dashboard

2

Prepare CSV File

Fill the template with your transaction data according to the field specifications:

Field HeaderTypeRequiredDescription
service_commandStringRequiredMust be "PAYMENT_LINK"
Example: PAYMENT_LINK
languageStringRequiredPayment link language
Example: en, ar
amountIntegerRequiredAmount in smallest currency unit
Example: 10000 (for 100.00 AED)
currencyStringRequiredISO currency code
Example: AED, USD, SAR
customer_emailStringRequiredCustomer email address
Example: customer@example.com
merchant_referenceStringRequiredUnique transaction reference
Example: ORD-12345-2024
request_expiry_dateStringRequiredLink expiration date/time
Example: 2025-12-01T15:00:55+03:00
link_commandStringRequiredTransaction type
Example: PURCHASE, AUTHORIZATION
notification_typeStringRequiredDelivery method
Example: EMAIL, SMS, EMAIL,SMS
customer_phoneStringConditionalRequired for SMS notifications
Example: 966551234567
customer_nameStringRequiredCustomer full name
Example: John Doe
order_descriptionStringOptionalTransaction description
Example: Monthly subscription fee
payment_link_idStringOptionalCustom link identifier
Example: LINK-12345

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 100.00 AED (2 decimal places per ISO code 3), multiply by 100 to send 10000 in your request.

3

Upload and Validate

  1. Save your file with .csv extension
  2. Click Browse and select your CSV file
  3. Upload the file to the Batch Invoicing interface

File Upload Interface

The system will automatically validate your file format and data integrity.

4

Review Validation Results

Check the validation status:

If validation fails:

  • Status shows Validation with Errors
  • Download the error report to review specific issues
  • Fix errors and re-upload the corrected file

Validation Errors

If validation succeeds:

  • Status shows Batch Validated Successfully
  • Proceed to process the batch

Validation Success

5

Process Batch

  1. Click the Process button to execute the batch
  2. Payment links are generated and sent to customers
  3. Delivery method follows the notification_type specified in your CSV

The system will create all payment links simultaneously and deliver them via EMAIL, SMS, or both based on your configuration.

Through the API

API integration provides full batch processing capabilities including refunds, captures, void authorizations, and payment links with programmatic control.

Prerequisites

Before implementing API batch processing:

  1. Batch Service Active - Ensure batch processing is enabled on your account, contact merchantsupport-ps@amazon.com to enable this service

  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

API Endpoints

File Upload Endpoint:

https://sbpaymentservices.payfort.com/FortAPI/upload/

Batch Operations Endpoint:

https://sbpaymentservices.payfort.com/FortAPI/batchApi/

Implementation Steps

1

Upload Batch File

Upload your CSV file using a multipart form POST request to the upload endpoint.

Request Sample:

<html>
<body>
<form action="https://sbpaymentservices.payfort.com/FortAPI/upload"
method="POST"
enctype="multipart/form-data">
<input type="text" name="merchant_identifier" value="WeVJHPYm">
<input type="text" name="access_code" value="s4lwuuoY5upZlZY5D6dr">
<input type="text" name="service_command" value="UPLOAD_BATCH_FILE">
<input type="text" name="batch_reference" value="BATCH-2024-001">
<input type="text" name="language" value="en">
<input type="text" name="signature" value="calculated_signature_here">
<input type="file" name="file" value="batch_transactions.csv">
<input type="submit" value="Upload Batch">
</form>
</body>
</html>

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

Response Sample:

{
"response_code": "50000",
"service_command": "UPLOAD_BATCH_FILE",
"response_message": "Success",
"batch_id": "169996200016006622",
"signature": "calculated_response_signature",
"merchant_identifier": "WeVJHPYm",
"access_code": "s4lwuuoY5upZlZY5D6dr",
"batch_reference": "BATCH-2024-001",
"language": "en",
"status": "50"
}
2

Validate Batch File

After uploading, validate the batch file to check for format errors and data integrity issues.

Request Sample:

{
"merchant_identifier": "WeVJHPYm",
"access_code": "s4lwuuoY5upZlZY5D6dr",
"signature": "calculated_signature_here",
"service_command": "GET_BATCH_RESULTS",
"batch_reference": "BATCH-2024-001",
"language": "en",
"batch_id": "169996200016006622"
}

Error Response:

If validation fails, the response includes detailed error information:

Line_Number,response_code,response_message,status,eci,fort_id,merchant_reference,amount,card_number,expiry_date,currency
"6","00001","Missing parameter","00","","","","","","",""

When validation errors occur, the batch status becomes Validated with errors. Review the error details, correct the issues in your CSV file, and re-upload.

3

Process Batch

Once validation succeeds, process the batch to execute all transactions.

Request Sample

{
"merchant_identifier": "WeVJHPYm",
"access_code": "s4lwuuoY5upZlZY5D6dr",
"signature": "calculated_signature_here",
"service_command": "PROCESS_BATCH",
"batch_reference": "BATCH-2024-001",
"language": "en",
"batch_id": "169996200016006622"
}

Response Sample

{
"response_code": "72147",
"service_command": "PROCESS_BATCH",
"response_message": "The Batch process request has been received",
"batch_id": "169996200016006622",
"signature": "calculated_response_signature",
"merchant_identifier": "WeVJHPYm",
"access_code": "s4lwuuoY5upZlZY5D6dr",
"batch_reference": "BATCH-2024-001",
"language": "en",
"status": "72"
}
4

Monitor Results

After processing begins, monitor the batch status by repeating the validation request to get final transaction results.

Best Practices:

  • Wait 5-10 minutes before checking results for large batches
  • Implement retry logic for status checks
  • Store batch IDs for future reference
  • Log all API responses for troubleshooting

It's essential to handle transaction feedback correctly. Each payment transaction generates a response that your system must interpret and process to finalize transactions accurately.

For detailed parameter specifications, refer to our Batch Processing API Reference.

Go-live

Test your integration using one of our testing cards.

Make sure to visit our go-live checklist to go live with your integration.

Support

Need help with your integration? Contact our technical support team at merchantsupport-ps@amazon.com.

Was this page helpful?

Thanks for your feedback!