# Create Realtime Payment Link

You need to create a 'pay link' to receive fiat payments through Ninjapay payment plugin. A pay link contains <mark style="color:red;">Payment info</mark> 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 link
* single\_use : Boolean - Payment is single use or not
* currency: `String` - Currency of your amount
* redirect\_url: `String` - what url will be redirecting after payment success
* cust\_email: `String` - Pass email of customer
* cust\_full\_name: `String` - Pass name of customer
* ask\_during\_payment: `string` - Link will ask customer details, if you dont pass here
* only\_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 code
* only\_phone: `String` - Link will only ask customer's email
* is\_sms: `Boolean` - You will get SMS alert after payment
* is\_whatsapp: `Boolean` - You will get message on whatsapp regarding payment
* is\_invoice\_generate: `Boolean` : Invoice generation will be given after payment or not
* enable\_upi\_qr: `Boolean` - Upi link will be coming in response
* include\_order\_id\_in\_redirect: `Boolean` - order id will be added in redirect url, mus pass redirect url
* cust\_reference\_id: `String` - Id you can pass your custom reference id
* include\_cust\_ref\_in\_payment\_link: `Boolean` -Include customer reference in the payment link
* cust\_thanks\_msg: `String` - Message shown to customer after payment
* custom\_logo\_url: `String` - Your personalise logo
* custom\_pay\_text: `String` :- Text shown to customer during payment
* tnc: `String` - Terms and conditions
* reference\_notes: `String` - Reference note
* expiry\_id: `String` - Pass Id according to expire time setting
* webhook : `String`- Webhook url on which you want to send payment link updates
* reference\_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 date
* if `include_order_id_in_redirect` is passed to true then you need to pass redirection url also
* If `cust_phone` is passed, you also need  to pass `phone_code(country phone number codes)` .
* We can only pass max 1 lakh amount If `allow_partial_payment`  is false

### Request body

{% code fullWidth="true" %}

```json

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":""    
}
```

{% endcode %}

#### **Other info**

| Parameters | Input options                                                                       |
| ---------- | ----------------------------------------------------------------------------------- |
| type       | <p>Type of the payment link- </p><p>1 -> payment link<br>2 -> Subscription link</p> |
|            |                                                                                     |

#### **Response**

```json

{
    "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

```json
{
    "STATUS":"",  // 
    "ORDER_ID":"",
    "CURRENCY":"",
    "RESP_MSG":"",
    "PAYMENT_MODE":"",
    "TXN_ID":"",
    "AMOUNT":"",
    "CUS_REF_ID":"",
    "TXN_DATE":"",
    "CHECKSUMHASH":"",
    "REFERENCE_ORDER_ID":""
}
```

#### **Code Example**

{% code overflow="wrap" %}

```javascript

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));
  
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ninjapay.gitbook.io/ninjapay-api-docs/how-to/api-reference-upi/plugins/realtime-payment-links/create-realtime-payment-link.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
