Create Realtime Payment Link
You need to create a 'pay link' to receive fiat payments through Ninjapay payment plugin. A pay link contains Payment info added in the dashboard by the merchant(you), capable of accepting payments through the UPI protocol or bank transfers from customers.
Method
POST https://api.ninjapay.me/webextension/api/v1/fiat/realtime-payment-link/link
Parameters
type :
String
- Type of link we are generating (1 for payment link, 2 for subscription) (required)title:
String
- Title of the payment link(required)amount:
Number
- Amount to be paid (required)allow_partial_payment :
Boolean
- User can make partial payment to your linksingle_use : Boolean - Payment is single use or not
currency:
String
- Currency of your amountredirect_url:
String
- what url will be redirecting after payment successcust_email:
String
- Pass email of customercust_full_name:
String
- Pass name of customerask_during_payment:
string
- Link will ask customer details, if you dont pass hereonly_phone:
String
- Ask only phone number.phone_code:
String
- Phone number code of custmer.only_email:
String
- Phone number of customer without phone code.cust_phone:
String
- Phone number of customer without phone codeonly_phone:
String
- Link will only ask customer's emailis_sms:
Boolean
- You will get SMS alert after paymentis_whatsapp:
Boolean
- You will get message on whatsapp regarding paymentis_invoice_generate:
Boolean
: Invoice generation will be given after payment or notenable_upi_qr:
Boolean
- Upi link will be coming in responseinclude_order_id_in_redirect:
Boolean
- order id will be added in redirect url, mus pass redirect urlcust_reference_id:
String
- Id you can pass your custom reference idinclude_cust_ref_in_payment_link:
Boolean
-Include customer reference in the payment linkcust_thanks_msg:
String
- Message shown to customer after paymentcustom_logo_url:
String
- Your personalise logocustom_pay_text:
String
:- Text shown to customer during paymenttnc:
String
- Terms and conditionsreference_notes:
String
- Reference noteexpiry_id:
String
- Pass Id according to expire time settingwebhook :
String
- Webhook url on which you want to send payment link updatesreference_order_id:
String
- User side order id to attach to orders.allow_tips:
Boolean
- Tips field show to customer or not.
Other info
If no
expiry_id
is passed then link will be having no expiry dateif
include_order_id_in_redirect
is passed to true then you need to pass redirection url alsoIf
cust_phone
is passed, you also need to passphone_code(country phone number codes)
.We can only pass max 1 lakh amount If
allow_partial_payment
is false
Request body
Body (application/json)
{
"type": "1",
"template_id": "null",
"title": "title of paymeny link",
"currency": "INR",
"amount": 1,
"allow_partial_payment": false,
"single_use": false,
"cust_phone": "8302280166",
"cust_email": "example.com",
"cust_full_name": "dummy name",
"ask_during_payment": false,
"only_phone": false,
"phone_code": "+91",
"only_email": false,
"link_expiry": null,
"is_sms": false,
"is_whatsapp": false,
"is_invoice_generate": false,
"enable_upi_qr": false,
"include_order_id_in_redirect": false,
"cust_reference_id": "",
"include_cust_ref_in_payment_link": false,
"redirect_url": "",
"cust_thanks_msg": "",
"custom_logo_url": "",
"custom_pay_text": "",
"tnc": "",
"reference_notes": "",
"expiry_id": null,
"allow_tips":false,
"webhook":"",
"reference_order_id":""
}
Other info
type
Type of the payment link-
1 -> payment link 2 -> Subscription link
Response
{
"status": true,
"data": {
"link_id": "RTLSpvmCCWL5YbgoQIy1uKO", // id of this payment link
"super_order_id": "FT_RTPL_SOeK5pKhG51kOcMYaNNGTL",
"qr_base64": "", // base 64 image of qr if qr customise is been done
"pay_link": "", // upi link for direct payment
"expiry_date": "2024-08-06 08:52:11", // expiry of invoice
"order_id": "FT_RTPL_SOTbKI1uC7uYfGMvDvOAw9" //
},
"message": "Payment link created successful"
}
Payment Success Response
Upon successful payment, the Ninjapay platform sends the fiat amount to the provided UPI ID and gives a success response to the webhook.
Callback Response
{
"STATUS":"", //
"ORDER_ID":"",
"CURRENCY":"",
"RESP_MSG":"",
"PAYMENT_MODE":"",
"TXN_ID":"",
"AMOUNT":"",
"CUS_REF_ID":"",
"TXN_DATE":"",
"CHECKSUMHASH":"",
"REFERENCE_ORDER_ID":""
}
Code Example
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'API_KEY'
},
body: '{"amount":10,"title":"sample_description","reference_order_id":"myperosnalid","webhook":"https://yourwebhook.com" }'
};
fetch('https://api.ninjapay.me/webextension/api/v1/fiat/realtime-payment-link/link', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
Last updated