Bulk Transaction Inquiry API Endpoint

Sections

Theme switcher

Getting Started - Egypt

Sign up for registering a new account


A guide to registering a new accept account.

Why do I have to? In order to deal with any of Accept's services, you have to register an account, this tutorial will be your guide to create one.

To create your account, follow these steps

  1. Navigate to Accept's home page

2. After that, you will enter your mobile number on which you will be receiving OTP for first-time verification.

3. As soon as you enter the OTP that you have received on your mobile number, you will get the below screen where you will be adding your name, and email details including your desired Password which you will be using for further logging.

4. Please note that after this screen you will get a login screen where you will be entering your registered mobile number without country code and your password which you have set in the previous screen.

5. As soon as you will log in, you will get the below screen to enter your business details.

After filling in this information, you will get a " Registration successful" message on the screen and you will be routed to your Paymob Dashboard as below :

Great-Now you have successfully made your Merchant portal dashboard 

Now you can go to the Sign-In page and start accepting online payments from your customers, Go check our use case guide and choose your perfect payment scenario!

👍Note!

The status of the created account will be marked as a "Test" account, this will allow you to test all of Accept's services. When you finish your testing phase, please contact your Account Manager or Contact Support team through email  support@paymob.com or you can also raise a ticket through a support widget in your Merchant portal Dashboard to change its status to be "Live".

Was this section helpful?

What made this section unhelpful for you?

Accept Dashboard

A detailed guide to your Accept dashboard

In order to deal with any of Accept's services, you have to create an Accept account.

In your Accept portal, you can find:

  • Profile.
  • Payment Integrations.
  • Orders.
  • Transactions.
  • Checkout Customization.

API Checkout Experience

Welcome to the API Checkout Experience documentation! In this guide, you will learn how to integrate and set up our API to provide a seamless and unified checkout experience. This includes everything you need to get started with setting up the API, generating your keys, and configuring both the Unified Intention API Checkout and Pixel Native Payment experiences.

We'll walk you through the basics of the API, including an overview of how it works, step-by-step instructions on how to get your environment set up, and how to use the various endpoints to facilitate secure and efficient transactions.

E-Commerce Plugins

Mobile SDKs

Subscriptions

Overview

Paymob provides a comprehensive subscription module designed to help merchants efficiently manage their subscriptions on a variety of billing cycles, including weekly, bi-weekly, monthly, quarterly, semi-annual, and annual plans. This module is tailored to meet the specific needs of each merchant, enabling them to create, manage, and control their subscriptions independently through our APIs.

For any guidance or assistance, please reach out to your account manager. Alternatively, you can contact our support team via email at support@paymob.com. When reaching out, please include details regarding your subscription, such as your Subscription ID and Transaction ID, to help us assist you more efficiently.


Integration Requirements

To successfully set up your subscription plan, you will need two integration IDs:

  • Online 3DS Integration ID: This ID will be used for creating subscriptions.
  • Moto Integration ID: Utilize this ID when creating the subscription plan itself.

Ensure you have both integration IDs ready to streamline the setup process.

If you wish to verify the card user details (provide a free trial for X days period) instead of deducting the amount while creating the subscription then you can ask our support team at support@paymob.com to create a 3DS verification integration ID. Noting this amount will be an auto reversal and you need to set the  "use_transaction_amount": false  to avoid any override with the Subscription plan amount

For further assistance or detailed API guidance, please refer to the subsequent sections of this documentation.

Payment Types

Paymob provides a comprehensive range of payment options to suit various business needs, enhancing the flexibility and security of online transactions. The following are the four primary payment types supported by Paymob:

1. 3D Secure (3DS)

3D Secure (3DS) is a security protocol designed to reduce the risk of fraudulent online transactions by adding an additional layer of authentication. When a cardholder makes a purchase online, 3DS prompts the customer to authenticate their identity with the card issuer during the final stage of the checkout process. This step typically involves entering a one-time password (OTP) or biometric verification, depending on the card issuer’s requirements.

2. Auth and Capture

The Auth and Capture payment method is a two-step process where the transaction is initially authorized, but the funds are not immediately captured. First, the payment gateway authorizes the transaction by confirming that the customer has sufficient funds available, but the actual transaction amount will be captured later. If the transaction is not captured within 07 days, it will be automatically voided.

3. Card Verification

Card Verification Function is a functionality provided by the Network to authenticate a card transaction without actually deducting the transaction amount from the customer’s card.

4. Pay with Saved Card Token

The Pay with Saved Card Token method allows customers to store their card details securely for future transactions. Once a customer has completed a transaction, the payment system stores a unique token that represents their payment method. In subsequent transactions, customers can opt to pay using this saved token without having to re-enter their card details, simplifying the checkout process.


Payment Links

Payment Actions

This section contains the following topics:

  1. Refund Transaction through the Dashboard.
  2. Refund Transaction through API.
  3. Void Transaction through the Dashboard.
  4. Void Transaction through API.
  5. Auth/Capture Transaction through the Dashboard.
  6. Auth/Capture Transaction through API.

Payment Methods

Paymob provides a wide range of payment methods in Egypt, enabling businesses to offer seamless and secure transactions for their customers. Whether through cards, digital wallets, or installment plans, Paymob ensures a smooth payment experience tailored to diverse customer needs. Below is a list of supported payment methods:

  • Card Payments
  • Digital Wallets
  • Apple Pay
  • ValU
  • Bank Installments
  • Souhoola V3
  • Aman V3
  • Forsa
  • Premium
  • Contact
  • HALAN
  • SYMPL
  • Kiosk
  • InstaPay (Coming Soon)

This extensive payment network allows businesses to expand their customer reach and simplify transactions through flexible and accessible solutions.

Test Credentials

Here are the test credentials for the online card payment method:

Mastercard:

Card

Mastercard

Card number

5123456789012346

Cardholder Name

Test Account

Expiry Month

12

Expiry Year

25

CVV

123


Wallet Test Credentials :

Here are the test credentials for Wallets;

Wallet Number

01010101010

MPin Code

123456

OTP

123456

MasterCard For Simulation:

Card

Mastercard

Card number

5123450000000008

Cardholder Name

TEST CARD

Expiry Month

01

Expiry Year

39

CVV

123

VISA Card for Simulation:

Card

VISA

Card number

4111111111111111

Cardholder Name

Test Account

Expiry Month

12

Expiry Year

25

CVV

123

You will simulate both successful and all failed cases outlined below using the VISA card credentials provided above.

Successful Response:

Failed Response:


Was this section helpful?

What made this section unhelpful for you?

Transaction Inquiry API

Retrieve A Transaction allows you to obtain the details and status of a transaction-whether it is successful or failed, using one of the following methods:

  1. Retrieve Transaction with Order ID Use the Order ID to access transaction details.
  2. Retrieve Transaction with Transaction ID Use the Transaction ID to obtain the relevant transaction information.
  3. Retrieve Transaction with Merchant Order ID(Special Reference Number) Access transaction details using the Merchant Order ID (Special Reference Number).

Manage Callback

Welcome to the Manage Callback documentation! In this section, we'll guide you through the different types of transaction callbacks that are essential for handling payment processing and ensuring a seamless integration with your system. Specifically, we'll cover transaction processed callbacks, transaction response callbacks, and how to calculate HMAC for processed callbacks, redirection callbacks, and saved card token objects.

You will learn how to configure and manage these callbacks, understand their role in transaction flow, and ensure that your system securely processes and responds to different events during payment transactions. Whether you're dealing with successful payments, handling failures, or managing tokenized card data, this guide will provide you with the necessary tools and knowledge to handle callbacks efficiently and securely.

Let's dive into understanding each callback type and how to calculate and implement HMAC to ensure the integrity and security of your transactions.

Error Codes

You can find the Risk error codes and other Acquirer response code descriptions in this section to know more about your declines, and detailed reasons.

Bills Portal API

Payouts

Was this section helpful?

What made this section unhelpful for you?

Definitions and Acronyms

  • Every field/parameter will be followed with {M}/{O}/{C} flag to dete
PLAINTEXT
{M}  >  Mandatory
{O}  >  Optional
{C}  >  Conditional 
  • Environments/Web service locations will be generalized at the urls with {ENV} variable
PLAINTEXT
{STAGING_ENV}     >  stagingpayouts.paymobsolutions.com/api/secure/
{PRODUCTION_ENV}  >  payouts.paymobsolutions.com/api/secure/ 
Was this section helpful?

What made this section unhelpful for you?

Generate and Refresh Token API Endpoint

Usage

  • This endpoint is used to generate and refresh authorization tokens which will be passed at every successor api call/request.
  • We implement OAuth 2.0 provider authorization.
  • Generated {ACCESS TOKEN} must be sent at the header with every request and have to be updated every 60 minutes using the refresh token api.
  • Generated {REFRESH TOKEN} will last forever until the next use, to generate new {ACCESS TOKEN}
Enviroment
API location source
HTTP Method
Content Type

{ENV}

^o/token/

POST

JSON

Request

  1. Request Parameter
Field
M/O
Type

client_id

M

String

client_secret

M

String

username

M

String

password

M

String

scope

O

String

refresh_token

O

String

grant_type

M

String

Response

  1. Response Parameters
Field
Type

access_token

String

refresh_token

String

expires_in

String

scope

String

token_type

String

Samples

1.Generate token request

1.1 Using CURL tool

curl -i \ -X POST \ -H 'Content-Type: application/x-www-form-urlencoded' \ -u {CLIENT_ID}:{CLIENT_SECRET} \ -d "grant_type=password&username={USERNAME}&password={PASSWORD}" \ {ENV}/o/token/

1.2 Using HTTPie tool

http -v -f https://{CLIENT_ID}:{CLIENT_SECRET}@{ENV}/o/token/ grant_type=password username={USERNAME} password={PASSWORD}

2. Refresh token request

2.1 Using CURL tool

curl -i \ -X POST \ -H 'Content-Type: application/x-www-form-urlencoded' \ -u {CLIENT_ID}:{CLIENT_SECRET} \ -d "grant_type=refresh_token&refresh_token={REFRESH TOKEN}" \ {ENV}/o/token/

2.2 Using HTTPie tool

http -v -f https://{CLIENT_ID}:{CLIENT_SECRET}@{ENV}/o/token/ grant_type=refresh_token refresh_token={REFRESH_TOKEN}

3. Generate/Refresh token response

Expected Response

  • { "access_token": "Df0Z0r74hxZmO47mo9QnRrncVJIGU6", "expires_in": 3600, "refresh_token": "Y23rwVNSRtLjhy2nIwslJdo3FbAS6d", "scope": "read write {OTHER_SCOPES}", "token_type": "Bearer" }

Failure Response: Passed parameters are not valid

  • { "error": "invalid_grant", "error_description": "Invalid credentials given." }

4. Generate new access token using CURL

curl -i \ -X POST \ -H 'Content-Type: application/x-www-form-urlencoded' \ -u 4l9iHGND54sLJILML1xGGkWUDqO77iCda:qZIuRHN0oKxwGFaJtKhnAcTIcVvvz1AmRCv0RTVOozyoc6eqtOWhEFyUPRbyfRs8uqzDLyLxWVxbDB6TxmhyG78jCTpE \ -d "grant_type=password&username=paymob_send_api_checker&password=H%25bRUg%5EeaOZ%40HGabcLs7SOr9D1EL3%26" \ https://stagingpayouts.paymobsolutions.com/api/secure/o/token/

5. Generate new access token using Postman.

5.1) Create new request page

5.2) Change request method from GET to POST

5.3) Add access token url to the request page :

5.4) Open body tab and choose body type to x-www-form-urlencoded then add your Credentials:

5.5) Click on Send Button to get your access token and start using the other API endpoints:

Was this section helpful?

What made this section unhelpful for you?

Instant Cashin API Endpoint

Usage

  • This endpoint is used to disburse the E-Money for an anonymous recipients through a specific issuer.
Environement
API location source
HTTP Method
Content Type

{ENV}

^disburse/

POST

JSON

Headers

JSON
{
"Content-Type": "application/json",
"Authorization": "Bearer {ACCESS_TOKEN}"
}

Request

  1. Request Parameter.

Field
M/O/C
Type
Notes

issuer

M

String

the channel to disburse the e-money through

amount

M

Float

msisdn

C

String

vodafone/etisalat/orange/aman/bank wallets

bank_card_number

C

String

bank accounts/cards only

bank_transaction_type

C

String

bank accounts/cards only

bank_code

C

String

bank accounts/cards only

full_name

C

String

bank accounts/cards only

first_name

C

String

aman only

last_name

C

String

aman only

email

C

String

aman only

client_reference_id

O

String of uuid4

it's reference id generated by your side

Usage:

  • {issuer} options list: [vodafone, etisalat, orange, aman, bank_wallet, bank_card] -case insensitive-.
  • {amount} it's valid to use decimal point numbers up to 2 decimal points ex: 53.99
  • {msisdn}: the +2 added automatically, so it consists of 11 numbers, ex: 01020304050
  • {bank_card_number}: expected: [bank account number, IBAN, card number]
  • {bank_transaction_type} options list: [salary, credit_card, prepaid_card, cash_transfer] -case insensitive-.
  • {client_reference_id} generated UUID by the client to be saved as a reference in case of timeouts.

Description
Type

For concurrent or repeated payments

salary

For credit cards payments

credit_card

For prepaid cards and Meeza cards payments

prepaid_card

For bank accounts, debit cards etc.

cash_transfer

  • aman cases, after every successful disbursement user will be notified at his/her email with the reference number of his/her transaction.
  • {bank_code}: the banks list and their corresponding codes -case sensitive-.
Bank Name
Bank Code

Ahli United Bank

AUB

MIDBANK

MIDB

Banque Du Caire

BDC

HSBC Bank Egypt S.A.E

HSBC

Credit Agricole Egypt S.A.E

CAE

Egyptian Gulf Bank

EGB

The United Bank

UB

Qatar National Bank Alahli

QNB

Arab Bank PLC

ARAB

Emirates National Bank of Dubai

ENBD

Al Ahli Bank of Kuwait – Egypt

ABK

National Bank of Kuwait – Egypt

NBK

Arab Banking Corporation - Egypt S.A.E

ABC

First Abu Dhabi Bank

FAB

Abu Dhabi Islamic Bank – Egypt

ADIB

Commercial International Bank - Egypt S.A.E

CIB

Housing And Development Bank

HDB

Banque Misr

MISR

Arab African International Bank

AAIB

Egyptian Arab Land Bank

EALB

Export Development Bank of Egypt

EDBE

Faisal Islamic Bank of Egypt

FAIB

Blom Bank

BLOM

Abu Dhabi Commercial Bank – Egypt

ADCB

Alex Bank Egypt

BOA

Societe Arabe Internationale De Banque

SAIB

National Bank of Egypt

NBE

Al Baraka Bank Egypt B.S.C.

ABRK

Egypt Post

POST

Nasser Social Bank

NSB

Industrial Development Bank

IDB

Suez Canal Bank

SCB

Mashreq Bank

MASH

Arab Investment Bank

AIB

General Authority For Supply Commodities

GASC

Arab International Bank

ARIB

Agricultural Bank of Egypt

PDAC

National Bank of Greece

NBG

Central Bank Of Egypt

CBE

ATTIJARIWAFA BANK Egypt

BBE

Response

  1. Response Parameters.
Field
Type
Notes

disbursement_status

String

status_description

String

status_code

String

transaction_id

String

reference_number

String

AMAN only

paid

Boolean

AMAN only

Samples

1. Instant cashin request through Vodafone as an issuer

Request:

{ "amount": "90.56", "issuer": "vodafone", "msisdn": "01092737975" }

Response:

{ "transaction_id": "92134d2b-d1a5-4dde-859c-a1175e94582c", "msisdn": "01092737975", "issuer": "vodafone", "amount": "90.56", "full_name": "", "disbursement_status": "success", "status_code": "200", "status_description": "تم إيداع 90.56 جنيه إلى رقم 01010101010 بنجاح", "aman_cashing_details": null, "created_at": "2020-10-12 06:54:31.849561", "updated_at": "2020-10-12 06:54:33.146926" }

2. Instant cashin request through Etisalat as an issuer

Request

{ "issuer": "etisalat", "amount": 100.0, "msisdn": "01112131415" }

Response

{ "transaction_id": "4d8d2215-6b15-4cf0-8a5a-e62e3eb5fdb3", "msisdn": "01112131415", "issuer": "etisalat", "amount": 100.0, "full_name": "", "disbursement_status": "failed", "status_code": "90040", "status_description": "عزيزي العميل أنت غير مشترك في خدمة اتصالات كاش، للاشتراك برجاء زيارة أقرب فرع من فروع اتصالات بالخط والرقم القومي للمزيد من المعلومات اتصل ب-778", "aman_cashing_details": null, "created_at": "2020-10-12 07:00:23.453577", "updated_at": "2020-10-12 07:00:24.615864" }

3. Instant cashin request through Aman as an issuer.

Request

{ "issuer": "aman", "amount": 100.0, "msisdn": "01092737975", "first_name": "Tom", "last_name": "Bernardo", "email": "tom.bernardo@gmail.com" }

Response

{ "transaction_id": "df1ee23f-c146-4c99-88ef-d6355c727d4b", "msisdn": "01092737975", "issuer": "aman", "amount": 100.0, "full_name": "Tom Bernardo", "disbursement_status": "successful", "status_code": "200", "status_description": "“برجاء التوجه إلى فرع أمان. اسأل على خدمة مدفوعات أكسبت. اسخدم الكود الخاص 3988885. لصرف مبلغ 100.00 جنيه. شكراً لاختيارك مدفوعات أكسبت.“", "aman_cashing_details": { "bill_reference": 3988885, "is_paid": false }, "created_at": "2020-10-12 07:04:05.313545", "updated_at": "2020-10-12 07:04:11.172575" }

4. Instant cashin request through Orange as an issuer

Request

{ "issuer": "orange", "amount": 100.0, "msisdn": "01092737975" }

Response

{ "transaction_id": "7ce037de-a8d8-411c-be19-65ceb4e0dbd3", "issuer": "orange", "msisdn": "01092737975", "amount": 100.0, "full_name": "", "disbursement_status": "success", "status_code": "200", "status_description": "amount is deposited successfully", "aman_cashing_details": null, "created_at": "2020-10-12 07:19:46.121389", "updated_at": "2020-10-12 07:19:47.550900" }

5. Instant cashin request through Bank Wallets as an issuer

Request

{ "issuer": "bank_wallet", "amount": 100.0, "msisdn": "01092737975" }

Response

{ "transaction_id": "d9707a55-16af-4d35-9c69-2bce5ecc6cfb", "issuer": "bank_wallet", "msisdn": "01092737975", "amount": 100.0, "full_name": "", "disbursement_status": "success", "status_code": "200", "status_description": "amount is deposited successfully", "aman_cashing_details": null, "created_at": "2020-10-12 07:23:17.540219", "updated_at": "2020-10-12 07:23:18.113919" }

6. Instant cashin request through Bank Cards / Accounts as an issuer

Request

{ "issuer": "bank_card", "amount": 100.0, "full_name": "Tom Bernard Ceisar", "bank_card_number": "1111-2222-3333-4444", "bank_code": "CIB", "bank_transaction_type": "cash_transfer" }

Response

{ "transaction_id": "01ea2cd1-f01f-4857-b5ae-1e6359d1c779", "issuer": "bank_card", "amount": "100.00", "bank_card_number": "1111 2222 3333 4444", "full_name": "Tom Bernard Ceisar", "bank_code": "MISR", "bank_transaction_type": "salary", "disbursement_status": "pending", "status_code": "8000", "status_description": "Transaction received and validated successfully. Dispatched for being processed by the bank", "created_at": "2020-10-12 07:25:51.631701", "updated_at": "2020-10-12 07:25:52.263173" }

7. Examples of failure cases

7.1 Parameters didn't pass validations

JSON
{
"disbursement_status": "failed",
"status_description": {
"amount": [
"This field is required."
],
"issuer": [
"This field is required."
]
},
"status_code": "400"
}

7.2 Token used is expired

JSON
{
"disbursement_status": "failed",
"status_description": "Authentication credentials were not provided.",
"status_code": "401"
}

7.3 The amount to be disbursed exceeds the current balance of the entity

PLAINTEXT
    {
        "disbursement_status": "failed",
        "status_description": "Sorry, the amount to be disbursed exceeds you budget limit, please contact your support team",
        "status_code": "400"
    } 

8. Test e-wallet numbers

IMPORTANT Note:

PLAINTEXT
these numbers will get success response on staging environment only
 

Test number for vodafone issuer

01023456789

Test number for etisalat issuer

01123456789

Test number for orange issuer

01223456789

Test number for bank_wallet issuer

01123416789

Test number for bank_card issuer

1111222233334444

Test IBAN number for bank_card issuer

EG829299835722904511873050307

NOTE: Transactions on wallet take notime to get final status (on the spot)

NOTE: Transactions on bank take 2 Working Days to get final status

Was this section helpful?

What made this section unhelpful for you?

Cancel Aman Transaction API Endpoint

Usage

  • This endpoint is used to cancel aman transaction.
Environment
API ocation sourcel
HTTP Method
Content Type

{ENV}

^transaction/aman/cancel/

POST

JSON

Headers

JSON
{
"Content-Type": "application/json",
"Authorization": "Bearer {ACCESS_TOKEN}"
}

Request

  1. Request Parameters
Field
M/O/C
Type
Notes

transaction_id

M

String of uuid4

transaction id as uuid4

Response

  1. Response Parameters
Field
Type
Notes

transaction_id

String

reference_number

String

paid

String

disbursement_status

String

status_description

String

status_code

String

Samples

  1. Cancel Aman transaction request dictionary

Request

JSON
{
"transaction_id":
"607f2a5a-1109-43d2-a12c-9327ab2dca18"
}

Response

PLAINTEXT
        {
           "transaction_id": "607f2a5a-1109-43d2-a12c-9327ab2dca18",
           "issuer": "aman",
           "msisdn": "01148223074",
           "amount": 91.54,
           "full_name": "Hady Hossam",
           "disbursement_status": "successful",
           "status_code": "200",
           "status_description": "برجاء التوجه إلى فرع أمان. اسأل على خدمة مدفوعات أكسبت. اسخدم الكود الخاص 5164539. لصرف مبلغ 91.54 جنيه. شكراً لاختيارك مدفوعات أكسبت.",
           "aman_cashing_details": {
           "bill_reference": 5164539,
               "is_paid": true,
               "is_cancelled": true
           },
           "created_at": "2020-12-24 11:21:08.622826",
           "updated_at": "2020-12-24 11:21:09.755258"
        } 
  1. Examples of failure cases

2.1 Parameters didn't pass validations

PLAINTEXT
   {
      "transaction_id": [
          "This field is required."
      ]
   } 

2.2 Transaction not found

PLAINTEXT
   {
      "transaction_id": "Not found"
   } 

2.3 System Error

PLAINTEXT
   {
     "is_canelled": false
   } 
Was this section helpful?

What made this section unhelpful for you?

Bulk Transaction Inquiry API Endpoint

Usage

  • This endpoint is used to inquire about transaction(s) status.
  • This endpoint implements throttling mechanism, so you can ONLY make 5 transaction inquiry requests per minute.
  • Requests are paginated, 50 transaction object returned per single request.
Environment
API location Source
HTTP Method
Content Type

{ENV}

^transaction/inquire/

GET

JSON

Headers

JSON
{
"Content-Type": "application/json",
"Authorization": "Bearer {ACCESS_TOKEN}"
}

Request

  1. Request Parameters.
Field
M/O/C
Type
Notes

transactions_ids_list

M

String of uuid4

List of transaction ids as uuid4 or list of client reference ids or list of mixed

bank_transactions

M

Boolean

Used when the passed ids list for bank transactions

Response

  1. Response Parameters.
Field
Type
Notes

count

Integer

Total count of returned transactions

next

String

Link to the next page of results

previous

String

Link to the previous page of results

results

List

List of dictionaries transactions

2. IMPORTANT:

2.1) failure_reason attribute will be removed soon, you can use the more generic status_description attribute.

2.2) transaction_status attribute will be renamed to be disbursement status.

2.3) channel attribute will be renamed to be issuer.

Samples

  1. Bulk transaction inquiry request dictionary for non-bank transactions

Request

JSON
{
"transactions_ids_list": [
"607f2a5a-1109-43d2-a12c-9327ab2dca18",
"2a08d70c-49a9-48ed-bcbf-734343065477",
"1531eb29-199e-4487-96ab-72ef76564a42",
...
]
}

Response

JSON
{
"count": 120,
"next": "{ENV}/api/secure/transaction/inquire/?page=3",
"previous": "{ENV}/api/secure/transaction/inquire/",
"results": [
{
"transaction_id": "607f2a5a-1109-43d2-a12c-9327ab2dca18",
"issuer": "aman",
"msisdn": "01020304050",
"amount": 20.5,
"full_name": "Tom Bernard",
"disbursement_status": "successful",
"status_code": "200",
"status_description": "“برجاء التوجه إلى فرع أمان. اسأل على خدمة مدفوعات أكسبت. اسخدم الكود الخاص 3943627 . لصرف مبلغ 20.50 جنيه . شكراً لاختيارك مدفوعات أكسبت.“",
"aman_cashing_details": {
"bill_reference": 3943627,
"is_paid": false
},
"created_at": "2020-04-21 13:05:02.233574",
"updated_at": "2020-04-21 13:05:10.252393"
},
{
"transaction_id": "2a08d70c-49a9-48ed-bcbf-734343065477",
"issuer": "vodafone",
"msisdn": "01019706920",
"amount": 500.0,
"full_name": "",
"disbursement_status": "successful",
"status_code": "200",
"status_description": "تم إيداع 500.0 جنيه إلى رقم 01019706920 بنجاح",
"aman_cashing_details": null,
"created_at": "2020-04-21 09:14:01.884397",
"updated_at": "2020-04-21 09:14:17.807927"
},
{
"transaction_id": "1531eb29-199e-4487-96ab-72ef76564a42",
"issuer": "vodafone",
"msisdn": "01019506911",
"amount": 5.91,
"full_name": "",
"disbursement_status": "failed",
"status_code": "618",
"status_description": "لا يمكن إتمام العملية؛ برجاء العلم أن هذا العميل ليس غير مؤهل لخدمات فودافون كاش",
"aman_cashing_details": null,
"created_at": "2020-04-16 17:55:57.761411",
"updated_at": "2020-04-16 17:55:59.915782"
},
...
]
}

2. Bulk transaction inquiry request dictionary for bank transactions

Request

JSON
{
"transactions_ids_list": [
"2af6d579-f0b1-4dbf-942c-a8204c0fb798",
"7f066fb1-8fc8-4b36-9eb7-aee434d7e39a",
"1e886593-03b1-4af9-b9e0-72b39fef479b",
"b4c86a00-524e-4cfb-9dff-2eea114e26f0",
...
],
"bank_transactions": true
}

Response

JSON
{
"count": 120,
"next": "{ENV}/api/secure/transaction/inquire/?page=3",
"previous": "{ENV}/api/secure/transaction/inquire/",
"results": [
{
"transaction_id": "1e886593-03b1-4af9-b9e0-72b39fef479b",
"issuer": "bank_card",
"amount": "100.00",
"bank_card_number": "8881914753038370",
"full_name": "Tom Bernard Ceisar",
"bank_code": "ADCB",
"bank_transaction_type": "cash_transfer",
"disbursement_status": "failed",
"status_code": "8002",
"status_description": "Invalid bank code",
"created_at": "2020-10-06 16:39:06.617370",
"updated_at": "2020-10-06 16:39:13.093580"
},
{
"transaction_id": "8613a98e-3fa3-47c2-8dbf-874bc4fba62d",
"issuer": "bank_card",
"amount": "100.00",
"bank_card_number": "8602522883580815",
"full_name": "Tom Bernard Ceisar",
"bank_code": "ENBD",
"bank_transaction_type": "prepaid_card",
"disbursement_status": "pending",
"status_code": "8000",
"status_description": "Transaction received and validated successfully. Dispatched for being processed by the bank",
"created_at": "2020-10-06 16:35:48.823069",
"updated_at": "2020-10-06 16:35:53.492712"
},
{
"transaction_id": "469b97a0-81b6-4e7c-a224-2ad561e8c3ec",
"issuer": "bank_card",
"amount": "100.00",
"bank_card_number": "7885318081708789",
"full_name": "Tom Bernard Ceisar",
"bank_code": "GASC",
"bank_transaction_type": "credit_card",
"disbursement_status": "pending",
"status_code": "8000",
"status_description": "Transaction received and validated successfully. Dispatched for being processed by the bank",
"created_at": "2020-10-06 16:35:36.526330",
"updated_at": "2020-10-06 16:35:40.100927"
}
]
}
}

3. Exceeded your limit of requests per minute

JSON
{
"status_description": "Request was throttled. Expected available in 55 seconds.", "status_code": "429" }
Was this section helpful?

What made this section unhelpful for you?

User Budget Inquiry API Endpoint

Usage

  • This endpoint enables entities to inquire about their current balance.
  • It implements throttling mechanism, so you can ONLY make 5 budge inquiry requests per minute.
Environment
API location source
HTTP Method
Content Type

{ENV}

^budget/inquire/

GET

JSON

Headers

JSON
{
"Content-Type": "application/json",
"Authorization": "Bearer {ACCESS_TOKEN}"
}

Request

  1. Request Parameters

This endpoint takes no parameters just the authenticated user hits the GET request to this endpoint.

Response

  1. Response Parameters.
Field
Type

current_budget

String

status_description

String

status_code

String

Samples

Success user budget inquiry

{ "current_budget": "Your current budget is 888.25 LE" }

Exceeded your limit of requests per minute

{ "status_description": "Request was throttled. Expected available in 55 seconds.", "status_code": "429" }

Was this section helpful?

What made this section unhelpful for you?

CallBack Url

Usage

  • This url used to notify the client if transaction has new status.
  • Note:- this url used for aman transactions and bank transactions only

How to set callback url

1.1) Login by Dashboard user

1.2) Choose from sidebar CallBack Url

1.3) Enter your callback Url then press submit

Samples Of CallBack Request Body

  • Bank Transactions

Request

{ "transaction_id": "1e886593-03b1-4af9-b9e0-72b39fef479b", "issuer": "bank_card", "amount": "100.00", "bank_card_number": "8881914753038370", "full_name": "Tom Bernard Ceisar", "bank_code": "ADCB", "bank_transaction_type": "cash_transfer", "disbursement_status": "failed", "status_code": "8002", "status_description": "Invalid bank code", "created_at": "2020-10-06 16:39:06.617370", "updated_at": "2020-10-06 16:39:13.093580" }

  • Aman Transactions

Request

  1. { "transaction_id": "607f2a5a-1109-43d2-a12c-9327ab2dca18", "issuer": "aman", "msisdn": "01020304050", "amount": 20.5, "full_name": "Tom Bernard", "disbursement_status": "successful", "status_code": "200", "status_description": "“برجاء التوجه إلى فرع أمان. اسأل على خدمة مدفوعات أكسبت. اسخدم الكود الخاص 3943627 . لصرف مبلغ 20.50 جنيه . شكراً لاختيارك مدفوعات أكسبت.“", "aman_cashing_details": { "bill_reference": 3943627, "is_paid": true }, "created_at": "2020-04-21 13:05:02.233574", "updated_at": "2020-04-21 13:05:10.252393" }
Was this section helpful?

What made this section unhelpful for you?

Response Codes

General Responses

Vodafone / Etisalat / Orange / Bank Wallet Codes

Error Code

Description

Http Code

403

Channel Authentication Failed

403

404

Undefined request type

404

406

Incorrect input given to request

406

501

Internal Error

501

583

Exceeded Maximum Limit Per Single Transaction

583

604

Below Minimum Transaction Limit Per Single Transaction

200

610

User Not Eligible To Perform Transaction

200

615

Sender and Recipient Accounts are the Same

200

618

Recipient Is Unregistered

200

1051

MSISDN Does Not Exist

200

1056

Invalid Consumer PIN

200

1033

Initial MPIN has not been changed

200

1069

Sender and Recipient Accounts are the Same

200

1102

M-PIN is Empty

200

1118

MSISDN is Locked

200

1301

Invalid Client ID

200

1996

Catch All SE Errors

200

1997

Inactive Service

200

4011

Initial MPIN has not been changed.

200

4037

Consumer MSISDN Does Not Exist

200

4051

Agent MSISDN Does Not Exist

200

4055

Consumer Account Status is Not Active

200

4056

Invalid Agent M-PIN

200

4070

Agent Type is Invalid

200

4081

Consumer has No Default Funding Account

200

4139

Agent MSISDN does not exist

200

4140

Agent ID Does Not Exist

200

4333

Recipient Consumers MPIN has not been changed

200

4334

Recipient Consumers has exceeded transaction count limit

200

5465

Service Call Failed

200

6001

Funding Account Status is Referral

200

6003

Invalid Agent

200

6004

Funding Account Status is Pick-up CR Problem or Fraud/Capture Card

200

6005

Funding Account was not Honored/General Decline

200

6012

Invalid Transaction

200

6013

Invalid Amount

200

6014

Invalid Funding Account Card Number

200

6015

Invalid Issuer

200

6030

Format Error

200

6041

Funding Account Status is Lost

200

6043

Funding Account Status is Stolen

200

6051

Service temporarily suspended

200

6054

Funding Account is Expired

200

6055

Invalid C-PIN

200

6057

Transaction Not Permitted to Issuer/Card Holder

200

6058

Transaction Not Permitted to Acquirer/Terminal

200

6061

Exceeded Transaction Amount Limit

200

6062

Restricted Card

200

6063

Security Violation

200

6065

Exceeded Transaction Count Limit

200

6070

Contact Card Issuer

200

6071

C-PIN Not Changed

200

6075

Allowable Number of C-PIN Tries Exceeded

200

6076

Invalid/Non-Existent "To Account"

200

6077

Invalid/Non-Existent "From Account"

200

6078

Invalid/Non-Existent Account

200

6084

Invalid Authorization Life Cycle

200

6086

C-PIN Validation Not Possible

200

6088

Cryptographic Failure

200

6089

Unacceptable C-PIN

200

6091

Authorization System/Issuer System Inoperative

200

6092

Unable to Route Transaction

200

6094

Duplicate Authorization Request

200

6096

General System Error

200

6097

MIP is Down/Not Connected

200

6098

No Response from MIP

200

6099

Catch All Acquirer SE Error

200

200

Deposit was successful.

200

400

Validation Error, status description will inform you with the issue.

400

401

Unauthorized request, access token expired or not sent.

401

500

Server Error.

500

404

Bad URL (not found).

404

405

Method not allowed.

405

504

Bad gateway.

504

0009

Regulatory reason.

200

1051

This service is only available to Vodafone Cash customers. Please try again later.

200

1082

The mobile number entered is invalid.

200

1118

Transaction cannot be completed due to three incorrect PIN attempts.

200

1301

Unable to process your transaction at this time. Please call Customer Care.

200

1333

Unable to process your transaction. Recipient account cannot receive funds.

200

1652

Recipient is not registered with any wallet program.

200

1705

A transaction with the same request details is already in progress.

200

1706

Transactions between different wallet schemes are not allowed.

200

194

Transaction cannot be completed due to account suspension. Please visit a branch for reactivation.

200

1996

Unable to process your transaction at this time. Please try again later.

200

3099

Unable to process your transaction at this time. Please try again later.

200

4037

Consumer mobile number is not currently registered. Please call Customer Care.

200

405

Channel has been blocked.

200

4055

Consumer has not yet been activated. Please call Customer Care.

200

4056

The entered PIN is incorrect. Please try again.

200

406

Incorrect input.

200

4077

You are not registered as a Vodafone Cash customer.

200

408

Request timeout error.

200

424

Process stopped during an external error. Please try again or contact support.

200

4333

Transaction cannot be completed because the customer has not set up a PIN.

200

4334

Recipient account cannot receive funds.

200

442

Network error.

200

500

External error.

200

501

Internal error.

200

504

Process stopped due to an external error. Please try again or contact support.

200

5465

Service call failed.

200

583

The deposit limit has been exceeded. Please try again.

200

6005

Transaction cannot be completed due to account suspension.

200

6012

Unable to process your request. Please call Customer Care.

200

6014

Transaction not completed. Please try again.

200

6051

Insufficient funds in your account.

200

6061

Transaction cannot be completed; the maximum transaction limit has been exceeded.

200

6062

Unable to process your request. Please call Customer Care.

200

6065

You have exceeded your daily transaction limit. Please try again tomorrow.

200

6082

Your request cannot be processed at this time. Please try again later.

200

6091

Unable to process your request. Please call Customer Care.

200

6096

General system error. Please try again.

200

6098

Unable to process your transaction at this time. Please try again later.

200

618

This customer is not eligible for the service.

200

6865

Downstream system is inoperative. Please try again later.

200

9000

Unable to process your transaction at this time. Please try again later.

200

90001

Unable to complete your request at this time. Please try again later.

200

9001

Unable to process your transaction at this time. Please try again later.

200

90015

The entered branch code is prohibited.

200

90039

Service temporarily suspended. Please contact support or visit a branch for assistance.

200

9004

Unable to process your transaction at this time. Please try again later.

200

90040

You are not subscribed to the required service. Please visit a branch for more information.

200

9005

Unable to process your transaction at this time. Please try again later.

200

9007

Unable to process your transaction at this time. Please try again later.

200

90093

Service temporarily suspended.

200

9010

Unable to process your transaction at this time. Please try again later.

200

9011

Unable to process your transaction at this time. Please try again later.

200

9013

Unable to process your transaction at this time. Please try again later.

200

9015

Unable to process your transaction at this time. Please try again later.

200

9025

Unable to process your transaction at this time. Please try again later.

200

9027

Unable to process your transaction at this time. Please try again later.

200

9035

Unable to process your transaction at this time. Please try again later.

200

9037

Unable to process your transaction at this time. Please try again later.

200

9040

Unable to process your transaction at this time. Please try again later.

200

Bank Card Codes

Status Code

Status

Status Description

8000

Pending

Transaction received and validated successfully. Dispatched for being processed by the bank

8111

Pending

Transaction received and validated successfully. Dispatched for being processed by the bank

8222

Successful

Successful with warning, A transfer will take place once authorized by the receiver bank

8333

Successful

Successful, transaction is settled by the receiver bank

501

Failed

Duplicate Transaction ID

000005

Rejected

Invalid Account Details

002248

Rejected

Creditor Agent for this transaction is not an active agent

000100

Returned

Invalid Account Details

000102

Returned

Frozen or Blocked Account

000105

Returned

Insufficient Payment Details

000108

Returned

Invalid Account Details

Error Codes for Generate token

Status Code

Status

Http Code

400

Invalid credentials given (wrong username or password

400

400

invalid_client (wrong client ID or secret

400

500

Server Error.

500

404

Bad URL (not found).

404

405

Method not allowed.

405

504

Bad gateway.

504

Was this section helpful?

What made this section unhelpful for you?

Frequently Asked Questions (FAQs)

The Frequently Asked Questions (FAQ) section is a comprehensive resource designed to address common inquiries about our services and features. Here, you will find detailed answers to questions regarding payment methods, transaction processes, technical requirements, and security measures. Whether you're a new user seeking guidance or an experienced merchant looking for specific information, this section aims to provide clarity and support. For any additional questions not covered here, please feel free to reach out to our customer support team at support@paymob.com.