UPI
PF Integration Option
This integration option supports the payment transaction:
Payment
Payment flow
- Customer selects UPI as a payment method on the merchant's website and submits their VPA (Virtual Payment Address).
- Merchant sends the payment request to Overpay.
- Overpay returns the payment status to the merchant: pendingorfailed.
- Customer receives a payment confirmation request in their UPI application.
- Customer confirms the payment in their UPI application.
- Overpay sends a webhook notification with successful,failedorpendingstatus.
Request
Send a payment request with the following additional parameters:
| 
 | |||||||||||||||||||||||||||||||||
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. 
PF Integration Option (with QR)
Payment
Payment flow
- The customer selects UPI as a payment method on the merchant's website and submits their VPA (Virtual Payment Address).
- The merchant sends the payment request to Overpay.
- 
Overpay sends a response with 3 links: - to the QR-code;
- to the deeplink;
- to the page that displays both the QR and the deeplink.
 
- 
The merchant redirects the customer to one of the links in the response. 
- The customer completes the payment in the UPI application.
- Overpay sends a webhook notification with the payment status to the merchant.
Request
Send a payment request with the following additional parameters:
| 
 | |||||||||||||||||||||||||||||||||||
Request example
{
  "request": {
    "amount": 20000,
    "currency": "INR",
    "description": "description",
    "duplicate_check": false,
    "test": false,
    "expired_at": "2026-01-01T15:00:00+01:00",
    "tracking_id": "your_uniq_number",
    "ip": "127.0.0.1",
    "language": "en",
    "notification_url": "https://merchant.ltd/notification",
    "return_url": "https://merchant.ltd/return",
    "customer": {
      "first_name": "John",
      "last_name": "Doe",
      "middle_name": "Mid",
      "country": "IN",
      "state": "KA",
      "city": "Bangalore",
      "zip": "560002",
      "address": "1st Street",
      "phone": "17777777777",
      "device_id": "12312312321fff67",
      "email": "example@example.com"
    },
    "method": {
      "account": "BE11-EF898-251F-A949",
      "type": "upi_qr_deeplink"
    }
  }
}
Response
Redirect your customer to one of the following URLs:
- additional_data.payment_method.qr_code– to display the QR-code;
- additional_data.payment_method.deeplink– to redirect them to the UPI application;
- form.action– to redirect them to the HTML page with both QR-code and a link to the UPI application displayed.
Response example
{
  "transaction": {
    "uid": "05482b9d-2ec9-4844-8763-55fc3195c9ef",
    "type": "payment",
    "status": "pending",
    "amount": 20000,
    "currency": "INR",
    "description": "description",
    "created_at": "2025-07-12T10:07:52Z",
    "updated_at": "2025-07-12T10:07:52Z",
    "method_type": "upi_qr_deeplink",
    "receipt_url": "https://backoffice.overpay.io/customer/transactions/05482b9d-2ec9-4844-8763-55fc3195c9ef/27b5379b2b6796c4d9ef9f2d850000190fac077da124f4d8b14e370b4a737c27?language=en",
    "payment": {
      "status": "pending",
      "gateway_id": 5374,
      "ref_id": "178648809",
      "message": "Transaction was initialized"
    },
    "upi_qr_deeplink": {
      "type": "upi_qr_deeplink",
      "account": "BE11-EF898-251F-A949"
    },
    "customer": {
      "zip": "560002",
      "city": "Bangalore",
      "email": "example@example.com",
      "phone": "17777777777",
      "state": "KA",
      "address": "1st Street",
      "country": "IN",
      "device_id": "12312312321fff67",
      "last_name": "Doe",
      "first_name": "John",
      "middle_name": "Mid",
      "ip": "127.0.0.1"
    },
    "manually_corrected_at": null,
    "version": 1,
    "message": "Transaction was initialized",
    "tracking_id": "your_uniq_number",
    "test": false,
    "language": "en",
    "expired_at": "2026-01-01T14:00:00Z",
    "billing_address": {
      "zip": "560002",
      "city": "Bangalore",
      "email": "example@example.com",
      "phone": "17777777777",
      "state": "KA",
      "address": "1st Street",
      "country": "IN",
      "device_id": "12312312321fff67",
      "last_name": "Doe",
      "first_name": "John",
      "middle_name": "Mid"
    },
    "additional_data": {
      "payment_method": {
        "type": "alternative",
        "qr_code": "data:image/png;base64,",
        "deeplink": "upi:/"
      }
    },    
    "gateway": {
      "iframe": false
    },
    "form": {
      "action": "https://api.overpay.io/beyag/transactions/redirect/05482b9d-2ec9-4844-8763-55fc3195c9ef",
      "method": "GET",
      "fields": []
    }
  }
}