Paytabs provides you with a collection of API endpoints which used to process all payments, regardless of if they are through either your own payment pages, the managed payment pages, or if you are using the hosted payment pages.
This article is dedicated to the clarification of the customer details parameters. The Customer Details also called Billing information is the customer/cardholder details that indicate the customer details for this payment. If provided, the payment page will be prefilled with the provided data. if you didn't pass this information the customer/cardholder will be required to enter these details on the payment page.
In this article, you will be going to know
Specifications
The Parameter Tag/Name | customer_details |
JSON Example | { "customer_details": { "name": "first last", "email": "email@domain.com", "phone": "0522222222", "street1": "address street", "city": "dubai", "state": "du", "country": "AE", "zip": "12345" } } |
Data Type | Object |
Required | ❌ |
Validation Rules |
|
Customer Details Object parameters:
Parameter | Data Type | Min | Max | Required |
customer_details.name | STRING | 4 | 128 | ❌ |
customer_details.email | STRING | Valid email format | ❌ | |
customer_details.phone | STRING | Valid number + country code prefix | ❌ | |
customer_details.street1 | STRING | 4 | 128 | ❌ |
customer_details.city | STRING | 2 | 128 | ❌ |
customer_details.state | STRING | 2 | 2 | ❌ |
customer_details.country | STRING | ISO 3166-1 alpha-2 codes (two-letter country codes) | ❌ | |
customer_details.zip | STRING | Valid zip code | ❌ |
Usage Workflow
Along with the required parameters mentioned in our Step 3 - PT2 API Endpoints | Initiating the payment solution article, you will need to set the customer details as shown below:
Sample Request Payload
{ "profile_id": "987654", "tran_type": "sale", "tran_class": "ecom", "cart_id": "CART#1001", "cart_currency": "USD", "cart_amount": 500, "cart_description": "Description of the items/services", "customer_details": { "name": "first last", "email": "email@domain.com", "phone": "0522222222", "street1": "address street", "city": "dubai", "state": "du", "country": "AE", "zip": "12345" } }
Sample Response Payload
{ "tran_ref": "TST2231101374414", "tran_type": "Sale", "cart_id": "CART#1001", "cart_description": "Description of the items/services", "cart_currency": "USD", "cart_amount": "500.00", "return": "https://example.com/order/10001", "redirect_url": "https://secure-egypt.paytabs.com/payment/page/59***ED7", "customer_details": { "name": "first last", "email": "email@domain.com", "phone": "0522222222", "street1": "address street", "city": "dubai", "state": "du", "country": "AE", "zip": "12345", "ip":"1.1.1.1" } "serviceId": 2, "profileId": 987654, "merchantId": 123456, "trace": "PMNT0404.6368BC3D.000BAF4C" }
The Expected Parameter Behaviors
After passing the customer details the Pay Page will not ask the customer/cardholder to fill in any details.
The expected behaviors according to the passed value are:
Passing invalid values or missing parameters
In case any of the details are missing or passed with invalid values; these details will be ignored and the cardholder will be required to enter any of the missing details on the payment page as shown below:
Edit the Customer/Billing details after passing it.
The customer still has the ability to edit the passed details on the Pay Page via clicking on Edit billing info tab, however you can present this using the