Skip to main content
POST
/
payments
/
offsite
/
payin
Create Offsite Payin Transaction
curl --request POST \
  --url https://staging.payzio.org/payments/offsite/payin \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "money": {
    "amount": 12550,
    "currency": "INR"
  },
  "merchant_order_no": "<string>",
  "callback_url": "<string>",
  "phone": "<string>",
  "user_details": {
    "phone_number": "<string>",
    "user_name": "<string>",
    "email": "<string>"
  }
}
'
{
  "success": true,
  "payment_id": "<string>",
  "data": {
    "qrCode": "<string>",
    "cashier_url": "<string>",
    "cashier_string": "<string>"
  },
  "amount": 123,
  "currency": "<string>",
  "message": "<string>"
}
Ensure you save the payment_id for future use. This identifier is crucial for tracking and managing your transactions effectively.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Request schema for creating an off-site payin transaction.

money
PayinMoneyRequest · object
required

Payment amount and currency

merchant_order_no
string
required

Merchant unique order identifier

Required string length: 1 - 32
callback_url
string | null

HTTPS callback URL for payment notifications

Maximum string length: 512
phone
string | null

DEPRECATED: Use user_details.phone_number instead; this field will be removed in a future version

user_details
UserDetails · object

Optional user details (phone, name, email)

Response

Successful Response

Response schema for offsite payin transaction with nested QR code data.

success
boolean
required

Whether the transaction was created successfully

payment_id
string
required

Payment id generated by payzio

data
OffsitePayinData · object
required

QR code and payment link data

amount
number
required

Payment amount

currency
string
required

Currency code

message
string
required

Response message