Skip to content

UPI

PZ Integration option

Payment flow

  1. Your customer selects UPI as a payment method.
  2. You request a wallet number from PaySage.io and show it to the customer.
  3. The customer makes a transfer on the given wallet.
  4. The customer copies the transaction ID from the receipt and enters it on your payment form.
  5. You create a payment through PaySage.io API and pass that transaction ID.
  6. Then, PaySage.io activates the payment and notify you when the transaction will be completed.

This integration option supports the following transaction types:


Wallet number request

Request

Send a GET request to https://api.paysage.io/beyag/pkm/upi/wallet/{currency}, where {currency} stands for the payment currency in the ISO-4217 format, for example USD.

Response

You will get a 200 response status code if your request was processed successfully, or not successfully.

Successful response example
{
  "wallet": "123456789",
  "status": "ok"
}
Error response example
{
  "status": "fail",
  "message": "An error has occurred while fetching a wallet. Try again later, please."
}

Payment

Request

Info

Confirm supported currencies and countries with your manager.

After your customer sent you the transaction ID, send a payment request with the following data:

Parameter Type Description
method object A section of the payment method.
type * required
string upi
account * conditionally required
string A UPI account. Contact Tech Support Team for details.
customer object A section of information about your customer.
first_name * conditionally required
string The customer's first name. Contact Tech Support Team for details.
last_name * conditionally required
string The customer's last name. Contact Tech Support Team for details.
email string The customer's email address.
additional_data object A section of additional transaction data.
transaction_id * conditionally required
string The transaction ID received from the customer. Contact Tech Support Team for details.
Response

The upi response section will have parameters copied from a request. Additionally, you'll get the form parameter to build a form where the customer should be redirected to finalize the payment.


Payout

Request

Info

A fraction of the amount is ignored. For example, if you pass amount = 123456, then the actual amount is 123400.

Send a payout request with the following data:

Parameter Type Description
method object A section of the payment method.
type * required
string imps_ib
channel * required
string A unique identifier of the user making the payment.
account * required
string The bank account number.
account_name * required
string The name of the bank account holder.
bank_code * required
string A unique ID assigned by the country's central bank, IFSC code.
Response

The imps_ib response section will have parameters copied from a request.

PF Integration Option

This integration option supports the payment transaction:


Payment

Payment flow

  1. Customer selects UPI as a payment method on the merchant's website and submits their VPA (Virtual Payment Address).
  2. Merchant sends the payment request to PaySage.io.
  3. PaySage.io returns the payment status to the merchant: pending or failed.
  4. Customer receives a payment confirmation request in their UPI application.
  5. Customer confirms the payment in their UPI application.
  6. PaySage.io sends a webhook notification with successful, failed or pending status.
Request

Send a payment request with the following additional parameters:

Parameter Type Description
method object A section of the payment method.
type * required
string upi
account * required
string VPA/UPI ID of the customer.
customer * required
object A section of information about the customer.
first_name * required
string The customer's first name.
last_name * required
string The customer's last name.
state * required string (2) The customer's billing state. Set as the 2 last symbols of the code in the ISO 3166-2 format.
city * required string (100) The customer's billing city.
zip * required string The post code of the customer's billing address.
address * required string (100) The customer's address.
phone * required
string (14) The customer's phone number.
email * required
string The customer's email address.
Request example
{
    "request": {
        "amount": 10042,
        "currency": "INR",
        "description": "description",
        "test": false,
            "customer": {
            "first_name": "John",
            "last_name": "Doe",
            "state": "KA",
            "city": "Bangalore",
            "zip": "560002",
            "address": "1st Street",
            "phone": "17777777777",
            "email": "user@example.com"
        },
        "method": {
            "type": "upi",
            "account": "1234"
        }
    }
}
Response

The upi response section will have the same parameters as in the request.