Skip to main content

[PayIn] [Trusted] INR Payment Data

For shops with INR currency and Trusted routing, when creating a payin (POST /api/v1/payins) use the contract that matches the shop template integration scheme.

H2H integration contract

Required fields in paymentData

ParameterTypeRequiredDescription
holderstringYesCustomer or payer name.
emailstringYesCustomer email.
mobile_numberstringYesCustomer mobile number.

Example request body

{
"external_id": "PIN-INR-TRUSTED-H2H-001",
"amount": 5000.00,
"currency": "INR",
"shop_code": "your_inr_trusted_h2h_shop",
"merchant_user_id": "merchant-user-001",
"merchant_user_ip": "203.0.113.10",
"paymentData": {
"holder": "Rahul Sharma",
"email": "rahul.sharma@example.com",
"mobile_number": "9876543210"
}
}

Response fields

ParameterTypeDescription
idnumberPayfield operation ID.
statusstringCurrent payin status.
external_idstringUnique payin identifier from the request.
amountnumberPayin amount.
currencystringPayin currency.
shop_codestringShop code used for routing.
merchant_user_idstringMerchant user identifier from the request.
merchant_user_ipstringUser IP from the request.
paymentDataobjectShop-specific payin fields.
transaction_typestringAlways payin.
created_atstringCreation timestamp.
updated_atstringLast update timestamp.
finalization_datestringReturned when the payin reaches a final status.

Example response body

{
"id": 12345,
"status": "pending",
"external_id": "PIN-INR-TRUSTED-H2H-001",
"amount": 5000,
"currency": "INR",
"shop_code": "your_inr_trusted_h2h_shop",
"merchant_user_id": "merchant-user-001",
"merchant_user_ip": "203.0.113.10",
"paymentData": {
"upi_link": "upi://pay?pa=merchant@upi&pn=Demo%20Merchant&am=5000&cu=INR"
},
"transaction_type": "payin",
"created_at": "2025-12-05T10:00:00.000000Z",
"updated_at": "2025-12-05T10:00:00.000000Z"
}

Without valid holder, email and mobile_number in paymentData, the request will be rejected with a validation error (422, "Invalid paymentData").

Payment Page contract

Required fields in paymentData

No additional paymentData fields are required for Trusted INR payment-page payins.

Example request body

{
"external_id": "PIN-INR-TRUSTED-PAGE-001",
"amount": 5000.00,
"currency": "INR",
"shop_code": "your_inr_trusted_payment_page_shop",
"merchant_user_id": "merchant-user-001",
"merchant_user_ip": "203.0.113.10"
}

Response fields

ParameterTypeDescription
idnumberPayfield operation ID.
statusstringCurrent payin status.
external_idstringUnique payin identifier from the request.
amountnumberPayin amount.
currencystringPayin currency.
shop_codestringShop code used for routing.
merchant_user_idstringMerchant user identifier from the request.
merchant_user_ipstringUser IP from the request.
payment_page_urlstringURL of the hosted payment page.
payment_page_expires_atstringHosted payment page expiration timestamp.
transaction_typestringAlways payin.
created_atstringCreation timestamp.
updated_atstringLast update timestamp.
finalization_datestringReturned when the payin reaches a final status.

Example response body

{
"id": 12345,
"status": "pending",
"external_id": "PIN-INR-TRUSTED-PAGE-001",
"amount": 5000,
"currency": "INR",
"shop_code": "your_inr_trusted_payment_page_shop",
"merchant_user_id": "merchant-user-001",
"merchant_user_ip": "203.0.113.10",
"payment_page_url": "https://api.payfield.io/public/payin-pages/pay_12345",
"payment_page_expires_at": "2025-12-05T10:15:00.000000Z",
"transaction_type": "payin",
"created_at": "2025-12-05T10:00:00.000000Z",
"updated_at": "2025-12-05T10:00:00.000000Z"
}

No custom paymentData response fields are configured for this payment-page template.

The request will be validated using the standard payin fields: external_id, amount, currency and optional routing/accounting fields from the main Create payin contract.

Back to PayIn