Auth-Capture Payments

📘

An Auth/Capture transaction consists of two transactions:

1- An auth transaction allows you to hold "Authorize" a certain amount from your customer's card.
2- A capture transaction that allows you to capture the held amount or less than it.

If your business model requires a similar payment scenario, please ask your technical contact for an "auth" integration ID, and follow this guide.

1. The authorization transaction

📘

Perform the essential steps mentioned in the payment API flow guide, with the provided "Auth" integration ID.
This transaction will be marked as an "is_auth" transaction.

2. The capture transaction

By using the following API request you can perform a capture transaction:

URL: https://accept.paymob.com/api/acceptance/capture

method: POST

source: PayMob’s server

recipient: Your server (Merchant)

content-type: JSON

EXAMPLE BODY:

{
  
"auth_token": "auth_token_from_step1", 
"transaction_id": "the id of the auth transaction", 
"amount_cents": "amount to be captured"
  
}

Sample Response:

{
    "type":"TRANSACTION",
    "obj":{
      "id":78,
      "pending": "false",
      "amount_cents":100,
      "success":"true",
      "is_auth": "false",
      "is_capture": "true",
      "is_standalone_payment":"true",
      "is_voided": "false",
      "is_refunded": "false",
      "is_3d_secure": "false",
      "integration_id":1,
      "profile_id":1,
      "has_parent_transaction": "true",
      "order":{
          "id":94,
          "created_at":"2016-12-26T06:49:16.651010Z",
          "delivery_needed": "false",
          "merchant":{
            "id":1,
            "created_at":"2016-11-17T15:02:53.646620Z",
            "phones":[
              "011111111111",
              "012324151432"
            ],
            "company_emails":[
              "[email protected]",
              "[email protected]"
            ],
            "company_name":"Wuckert, Zieme and Dach",
            "state":"Oklahoma",
            "country":"Oman",
            "city":"Port Arvillachester",
            "postal_code":"83372",
            "street":"Walker Ramp"
          },
          "collector": "null",
          "amount_cents":100,
          "shipping_data":{
              "id":73,
              "first_name":"Clifford",
              "last_name":"Nicolas",
              "street":"Ethan Land",
              "building":"8028",
              "floor":"42",
              "apartment":"803",
              "city":"Jaskolskiburgh",
              "state":"Utah",
              "country":"CR",
              "email":"[email protected]",
              "phone_number":"+86(8)9135210486",
              "postal_code":"01898",
              "extra_description":"",
              "shipping_method":"UNK",
              "order_id":94,
              "order":94
          },
          "currency":"EGP",
          "is_payment_locked":"true",
          "merchant_order_id": "null",
          "wallet_notification": "null",
          "paid_amount_cents":0,
          "items":[]
      },
      "created_at":"2016-12-26T06:49:16.680871Z",
      "transaction_processed_callback_responses":[],
      "currency":"EGP",
      "source_data":{
          "sub_type":"MasterCard",
          "pan":"2346",
          "type":"card"
      },
      "data":{
          "merchant_txn_ref":"1_6b30848c28c455de9bcb0c693e9f85a3",
          "card_num": "null",
          "avs_result_code":"Unsupported",
          "order_info":"[email protected]",
          "merchant":"TEST290510EGP",
          "avs_acq_response_code":"Unsupported",
          "transaction_no":"2000004112",
          "batch_no":"20161226",
          "message":"Approved",
          "txn_response_code":"0",
          "secure_hash":"DF6CF1D9CFF09F9C6AE1EC86F6ED4BFE4E5BAE8CE7705ED05E61A264839FEA7A",
          "card_type":"MC",
          "receipt_no":"636117634097",
          "created_at":"2016-12-26T06:49:19.593479",
          "currency":"EGP",
          "klass":"VPCPayment",
          "authorize_id":"634097",
          "amount":"100",
          "acq_response_code":"00",
          "command":"pay",
          "gateway_integration_pk":1
      },
      "payment_key_claims":{
          "exp":1482770369,
          "currency":"EGP",
          "amount_cents":100,
          "user_id":2,
          "integration_id":1,
          "shipping_data":{
              "state":"Utah",
              "country":"CR",
              "first_name":"Clifford",
              "last_name":"Nicolas",
              "postal_code":"01898",
              "floor":"42",
              "city":"Jaskolskiburgh",
              "street":"Ethan Land",
              "building":"8028",
              "phone_number":"+86(8)9135210486",
              "extra_description":"",
              "shipping_method":"PKG",
              "apartment":"803",
              "email":"[email protected]"
          }
      },
      "error_occured": "false",
      "owner":2,
      "parent_transaction": "null"
    },
    "captured_amount": 1000,     
    "owner": 1,
    "parent_transaction": 660 
}