• Callback Response
  • Getting Started
    • Mobile Integration (Android/IOS)
      Enterprise Solutions
      Retail Solutions
      Accept Payments
      Process Payments
      API References
      Other links
      Mini Program Platform
  • Features for Investments PG
  • Paytm All-in-One Payment Request

    What is All-in-One Payment Request?

    Paytm All-in-One Payment Request link takes you towards cashless, contactless, and hassle free in store payments acceptance from your customers using the Paytm or any UPI app.
    The payment link is a request shared with the customer over an SMS to make quick payment through the securely generated UPI intent link. The customer clicks the link received over an SMS to complete the payment instantly from Paytm or any UPI app.
    Subsequently, the merchant can check the status of the transaction using an API to close the bill and provide the goods/services to the customers.

    Overview of All-in-One Payment Request

    1. Customer chooses the goods/service in a store and shows the intent to the cashier for UPI payment.
    2. Customer gives their mobile number to the cashier at POS.
    3. Cashier creates an order with the bill amount and a unique Order ID in the POS system for the customer's mobile number.
    4. Merchant’s backend server calls Send Payment Request API with customer's phone number and consecutively, Paytm sends an SMS to the customer with a UPI payment link.
    5. The customer opens the link in SMS and selects their preferred UPI app for payment.
    6. Customer enters the UPI pin in the respective UPI app to complete the payment or can use any payment sources i.e. UPI, Wallet, Debit/Credit Cards, or Netbanking account in the Paytm app.
    7. Merchant's server receives the transaction confirmation from Paytm via an S2S Callback or calls the Transaction Status API to get the transaction confirmation against the order.
    8. Merchant's POS system closes the bill/order and shares the payment response with the customer.

    Demo of All-in-One Payment Request

    Demo of All-in-One Payment Request

    Flow diagram of All-in-One Payment Request

    flowchart of All-in-One Payment Request

    Benefits of All-in-One Payment Request

    • Each payment link generated by a merchant for an order is unique.
    • During the payment process, only the merchant has control over the order amount and the user cannot change it.
    • No additional device such as a card machine or customer facing screen is required to be used with a POS machine.
    • It facilitates payment through the Paytm or any UPI app.

    Steps in processing payment

    The section describes the integration steps required to integrate the Paytm All-in-One Payment Request with the billing POS to accept cashless and contactless payment from your customer using the Paytm or any UPI app.

    Step 1: Get Your Authentication key

    Paytm “All-in-One Payment Request” is only available to the select enterprise customers with high transaction volumes and established businesses. Get in touch to request access to All-in-One Payment Request flow.

    1. MID: A unique merchant identifier issued by Paytm to your account.
    2. Merchant Key: This is a unique secret key used to secure encryption of every request and needs to be kept on the server side.
    Note: Never share your secret Merchant Key with anyone.

    Step 2: Send Payment Request

    To send a payment request, initially the POS operator needs the customer’s mobile number. To create and send the payment link for an order to the customer via an SMS, refer to the Send Payment Request API.

    If the SMS is not delivered to the customer's mobile number due to any technical/network issue at the service provider’s end, you can resend the SMS for the same order by initiating the Resend Payment Request API.

    Step 3: Confirm Transaction Status

    Once the customer completes the payment, the merchant can confirm the transaction status by using S2S Webhook or the Transaction Status API.

    The Merchant can get the transaction status using the following ways:
    • Webhook - Paytm sends a server to server (S2S) response in a key value pair on the configured URL. S2S response is sent only when the transaction has reached a terminal state (success/fail). To configure the URL, please connect with Paytm.
    • Polling - Setup a polling process after regular intervals using the Transaction Status API. To get the best results out of a status query, you should check the status 8 times/minute by following the schedule givenhere.

    Step 4: Manage Refunds

    If you need to cancel or refund a successful transaction, send a Refund API and ensure success using the Refund Status API.

    REFID - It is necessary to send the REFID parameter as a unique ID in every refund request sent to Paytm. The refund request may fail due to the insufficient funds in MPA (Merchant Payable Account). For Failure refund status, the merchant can retry refunds. However, for Pending refund status, the merchant should not retry refunds.

    Integration Checklist

    Post completion of integration in your staging environment, it is mandatory to test the integration flow in your staging environment using the test account credentials before moving into the live environment with production account details (received from Paytm team). You can view the staging transaction details in “Test Data” mode on your dashboard.

    Make sure you take care of the following points during the integration:

    1. The transaction status is verified through the Transaction Status API in the payment flow and is used to code the bill/order.
    2. The order ID passed to Paytm is unique for your MID across all POS IDs.
    3. The amount must not contain more than 2 decimal points, comma or any special characters.
    4. The POS ID parameter is mandatory for creating payment requests.
    5. Record Paytm Transaction ID against your Order ID for reconciliation.
    6. The Send Payment Request, Refund & Transaction/Refund Status APIs are implemented & tested for positive & negative scenarios.
    7. You configure the API timeouts as per your business needs & architecture (For e.g. If you have multiple hops before the transaction reaches Paytm Servers, API timeouts should be higher).
    8. Integration handles the scenarios, where the status of transaction cannot be captured due to intermittent issues. E.g. If debit has happened but the bill has been marked with Unknown status, then you can refund the transaction through Paytm Dashboard or Refund API.
    9. For any local errors implemented in POS, the user friendly messages are displayed to the cashier.
    10. Maintain the error codes and logs that help in debugging issues during integration and post go-live.

    For any issues regarding All-in-One Payment Request integration, please Get in touch.

    Key attributes for All-in-One Payment Request integration

    1Order_IDA unique reference ID for a transaction passed in the transaction request. Order ID should be passed to check the actual status of the transaction.
    Example: OREDRID98765.
    2Transaction Amount This parameter is an object and should contain the value of transaction i.e. amount and currency type.
    Example: { "value" : "1303.00", "currency" : "INR" }
    3POS_ID It is a unique ID with alphanumeric values for each POS. The format of POS ID should be as: “Store ID_POS ID”
    Example: “S12_123”
    4Paytm Transaction ID Its string length should capable of storing 64 digits.
    5Transport Layer Security (TLS) 1.2 Paytm receives all the API requests with TLS 1.2 version.

    Demo for Billing POS