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.
In this article, we will walk you through how to make a payment page using the Saved Card Token (requiring CVV) to not force your customers to provide the card details again except for the CVV. You will be introduced to the required parameters that need to be passed to initiate the request.
We highly recommend you to check our Step 3.3 Token Based Transactions | Create and Manage Token to get the best out of this article, since this article is showing how to use the token.
In this article, you will be going to know about:
- The Endpoint and Related Postman Collection
- The Minimum Required Parameters
- The Payment Page Experience
- The Merchant Dashboard Page Experience
The Endpoint and Related Postman Collection
In this tutorial, we will rely on the PayTabs Own-Form API Endpoint, mentioned on the PayTabs API endpoints postman collection, which you can access from here. The endpoint will need to be accessed with a POST request on the below-mentioned URL
Post | {{domain}}/payment/request |
Please note that not using the proper endpoint URI {{domain}} will lead to authentication issues within your responses. To find the your proper domain you can read our What Is My (Region)/(endpoint URL)? solution article.
The Minimum Required Parameters
To initiate a recurring payment request, there are minimum required parameters that need to be passed with valid information. The specification of these required parameters is clarified below.
Parameter | Required | Purpose |
✔ | The merchant Profile ID you can get from your PayTavs dashboard. For more information please check our How to get your account information from PT2 Dashboard? solution article. To know more about this parameter please click here. | |
✔ | the identification of the type of the transaction. To know more about these types please check our What is the "tran_type" (transaction type)? solution article. To know more about this parameter please click here. | |
✔ | For this request, the transaction type MUST be "ecom". The identification of the category/class this transaction will follow, such as eCommerce, Recurring, etc. To know more about these types please check our What is the "tran_class" (transaction class)? solution article To know more about this parameter please click here. | |
✔ | Indicates the cart/order id at the merchant end to easily relate the transaction to To know more about this parameter please click here. | |
✔ | Indicates the cart/order description at the merchant end to easily relate the transaction to To know more about this parameter please click here. | |
✔ | Indicates the transaction currency, which the customer will be charged with To know more about this parameter please click here. | |
✔ | Indicates the amount the customer is about to be charged. To know more about this parameter please click here. |
Now in order to create the tokenized payment request, you need - in addition to the general initial parameters - to include new parameters specific to the tokenized payments. Find below the Additional required parameters for tokenization.
Parameter | Required | Purpose |
✔ |
Sample Request payload
The below sample request payload will show you how you can pass the above-mentioned parameters, which are needed to be passed with valid values to perform a request.
{ "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", "token": "2C4652BD67A3EF30C6B390F9668175B9" }
Sample Response Payload
Once the payment request is validated and initiated, you will receive the following response. You can notice that a payment page has already been performed, and the response includes the redirect_url so you can redirect the customer to this generated payment page.
{ "tran_ref": "TST2236501422089", "tran_type": "Sale", "cart_id": "CART#1001", "cart_description": "Description of the items/services", "cart_currency": "USD", "cart_amount": "500.00", "tran_currency": "", "tran_total": "0", "return": "none", "redirect_url": "https://secure-egypt.paytabs.com/payment/page/595CBEF982E4C13E6BE9563C9269DE1961CF2DB7D56139EEEC5E21A7", "serviceId": 2, "profileId": 987654, "merchantId": 1234321, "trace": "PMNT0403.63AF7BE0.0006F668" }
The Payment Page Experience
By creating the payment page, you will receive the redirect URL "redirect_url" within the response, which you will use to redirect your client to this payment page. Once you have redirected your client, the client browser will display the following page to the client.
The Merchant Dashboard Page Experience
When the client successfully completes the payment, on your dashboard, you will find the transaction details shown at Home > Transactions as shown below:
⌂ To get familiar with the whole process and the other steps, kindly navigate to our "The PT2 API Endpoints Integration Manual" solution article.
⇦ And to get familiar with the rest of the steps regarding the previous step "Step 2 - Configure the integration method" kindly click here.
⇦ And to get familiar with the rest of the steps regarding the current step "Step 3 - Initiating the payment" click here.
⇨ And to navigate to the next step in the integration process "Step 4 - Accepting the payment" kindly click here.