UPI Intent

UPI Intent Endpoint:

This endpoint is useful for initiating payments with a custom UPI Intent and redirecting customers after they complete the payment.

POST /v1/payments/createPaymentIntent

Code Example: Axios POST Request

Below is an example of how to use Axios to create a UPI Intent:

await axios.post(
  "https://api.upitranzact.com/v1/payments/createPaymentIntent",
  {
    mid: "Your Merchant ID", // Example: ABC
    amount: "Numeric value between 1-100000", // Example: 200
    order_id: "Unique order ID", // Example: bd79da4cc3ff1 (optional)
    redirect_url: "https://example.com/success",
    note: "Add money", // Payment remark
    customer_name: "John",
    customer_email: "john@example.com",
    customer_mobile: "Your Customer Mobile", // Correct value needed
  },
  {
    headers: {
      Authorization: "Basic base64(public_key:secret_key)"
    }
  }
);

Key Points

  • mid: Your merchant identifier.

  • amount: Must be a numeric value between 1 and 100000.

  • order_id: A unique string for transaction tracking. (optional)

  • redirect_url: Redirect to a custom web page after payment

  • customer_name: Ensure this contains a name.

  • customer_email: Ensure this contains a valid email address.

  • customer_mobile: Ensure this contains a valid phone number instead of a name.

  • Authorization: Basic base64(public_key:secret_key).

Ensure all placeholders (e.g., "Your Merchant ID") are replaced with actual values before executing

Request Body Parameters:

POST /v1/payments/createPaymentIntent

Headers

Name
Value

Content-Type

application/x-www-form-urlencoded

Authorization

Basic Auth

Body

Name
Type
Description
Example Value
Required

mid

string

Merchant ID assigned to you by UPITranzact.

ABC

Yes

amount

integer

The total amount.

200

Yes

order_id

string

A unique identifier for the order.

bd79da4cccff1

No

redirect_url

string

URL to which the customer should be redirected after payment.

https://example.com/success

Yes

note

string

A remark for the payment.

Add Money

Yes

customer_name

string

The name of the customer making for the payment.

John

Yes

customer_email

string

The email address of the payment.

john@example.com

Yes

customer_mobile

string

The mobile number of the customer.

0123456789

Yes

Authorization:

The request must include an Authorization header with a Base64 encoded string containing your public_key and secret_key in the format public_key:secret_key. Here's an example of how to generate the Authorization header:

Example:

Authorization: "Basic base64(public_key:secret_key)"

For example, if your public_key is your_public_key and your secret_key is your_secret_key, you would encode this into Base64 and use it as the Authorization header.

Example Authorization Header (Base64 encoded):

Authorization: "Basic eW91cl9wdWJsaWNfa2V5OnlvdXJfc2VjcmV0X2tleQ=="

Response

{
    "status": true,
    "statusCode": 200,
    "msg": "Payment Intent created successfully",
    "data": {
        "intent": "Link starts with upi://",
        "phonepe": "PhonePe UPI Intent Link",
        "paytm": "Paytm UPI Intent Link",
        "gpay": "Google Pay UPI Intent Link",
        "dynamicQR": "Dynamic QR Link",
        "expiry": "2025-01-20 11:23:10",
        "amount": "115",
        "orderId": "utz_6b3ff790-XXX"
    }
}

Error Codes:

  • 400: Bad Request - Missing required parameters or invalid data.

  • 401: Unauthorized - Invalid or missing Authorization Basic Auth.

  • 404: Not Found - An issue occurred on the server side.

  • 409: Conflict - The request could not be processed due to a conflict with the current state of the resource.

  • 500: Internal Server Error - An issue occurred on the server side.

Last updated