Hey! These docs are for version 3.2, which is no longer officially supported. Click here for the latest version, 1.0!

Payment links & UPI Deep links

Juspay payment links enables collecting payments from your customers on Web or Mobile. These links may also be directly be emailed or messaged to your customers.

UPI Deep links

UPI Deeplinks may be used to provide end-to-end payment experience within the platform (WhatsApp/ SMS/ Gmail) without any additional browser redirections. The user experience will be as show below.

Payment Links

In order to support user preferences to complete payment with other payment options (other than UPI), the Payment link may be shared to accepting payments on Cards, Wallets, Netbanking or any other options. The payment link shall be blended with your branding guidelines to provide better experience to your customers.

How to integrate Payment Links?

Integrating payment links is a simple three step process

Step 1: Create an Order on Juspay server using the API.

Please note the parameter 'options.get_upi_deep_links=true' should be passed only if you need the UPI Deeplink in the API response. In case you need only regular payment links, this parameter shall not be passed.

curl --location --request POST 'https://api.juspay.in/orders' \
--header 'version: 2018-10-25' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'x-merchantid: merchant_id'\
--header 'Authorization: Basic QTA0QT*******ODg1Og==' \
--data-urlencode 'order_id=14183944763' \
--data-urlencode 'amount=100.00' \
--data-urlencode 'currency=INR' \
--data-urlencode 'customer_id=guest_user_101' \
--data-urlencode '[email protected]' \
--data-urlencode 'customer_phone=9988665522' \
--data-urlencode 'product_id=prod-141833' \
--data-urlencode 'return_url=http://shop.merchant.com/payments/handleResponse' \
--data-urlencode 'options.get_upi_deep_links=true'
--data-urlencode 'payment_page.client_id=hyper-beta' \
--data-urlencode 'payment_page.environment=production' \
--data-urlencode 'description=Sample description' \
--data-urlencode 'billing_address_first_name=Juspay' \
--data-urlencode 'billing_address_last_name=Technologies' \
--data-urlencode 'billing_address_line1=Girija Building' \
--data-urlencode 'billing_address_line2=Ganapathi Temple Road' \
--data-urlencode 'billing_address_line3=8th Block, Koramangala' \
--data-urlencode 'billing_address_city=Bengaluru' \
--data-urlencode 'billing_address_state=Karnataka' \
--data-urlencode 'billing_address_country=India' \
--data-urlencode 'billing_address_postal_code=560095' \
--data-urlencode 'billing_address_phone=9988775566' \
--data-urlencode 'billing_address_country_code_iso=IND' \
--data-urlencode 'shipping_address_first_name=Juspay' \
--data-urlencode 'shipping_address_last_name=Technologies' \
--data-urlencode 'shipping_address_line1=Girija Building' \
--data-urlencode 'shipping_address_line2=Ganapathi Temple Road' \
--data-urlencode 'shipping_address_line3=8th Block, Koramangala' \
--data-urlencode 'shipping_address_city=Bengaluru' \
--data-urlencode 'shipping_address_state=Karnataka' \
--data-urlencode 'shipping_address_postal_code=560095' \
--data-urlencode 'shipping_address_phone=9962881912' \
--data-urlencode 'shipping_address_country_code_iso=IND' \
--data-urlencode 'shipping_address_country=India' \
  "status": "CREATED",
  "status_id": 1,
  "id": "ord_e294a26e66ad4336a992ceab81ad704c",
  "order_id": "14183944763",
  "payment_links": {
    "web": "https://api.juspay.in/merchant/pay/ord_e294a26e66ad4336a992ceab81ad704c",
    "mobile": "https://api.juspay.in/merchant/pay/ord_e294a26e66ad4336a992ceab81ad704c?mobile=true",
    "iframe": "https://api.juspay.in/merchant/ipay/ord_e294a26e66ad4336a992ceab81ad704c"
  "deep_link": "upi://pay?tr=20211123246240644044&tid=PYTM202111232462406423423&mc=1234&[email protected]&pn=acmecorp&am=1&cu=INR"
    "status": "Bad Request",
    "error_message": "order_id is missing",
    "error_code": "order_id is missing"

Step 2: Share the Payment Link/ UPI Deeplink with your customers.

Step 3: Check the status of payment using Juspay Order Status API. The payment status will also be communicated through Webhooks to the URL endpoint which you can configured on the Juspay Dashboard.


  • Please reach out to your Juspay SPOC to enable payment links for you Merchant ID and getting the payment page branding configured to your choice of branding.
  • Payment links have a default expiry of 15 minutes. This is configurable based on the use case.

What’s Next