# webUPI.sendPayment()

Request that the user sends a payment for a UPI URI. The application needs to provide a UPI URI.

#### **Method**

```jsx

async function sendPayment(upiUri: string): SendPaymentResponse;

```

#### **Parameters**

**`upiUri: string`**` ``// the UPI URI you'd like the user to pay.`

```jsx

interface SendPaymentArgs {
  upiUri: string; // the UPI URI you'd like the user to pay.
  callback_url?: string // Once a user approves or denies a payment, the UPI provider can notify the web app using the provided callback URL.
}

```

#### **Response**

```jsx

interface SendPaymentResponse {
  transactionId: string;
}

```

#### Callback Response

```json
{
  "transactionId": "string",
  "status": "approved/declined"
}

```

#### **Example**

```jsx

const upiUri = "upi://pay?pa=payeeVPA&pn=Payee Name&mc=0000&tid=TransactionId&tr=TransactionRefId&tn=Transaction Note&am=Transaction Amount&cu=INR";
const result = await window.webUPI.sendPayment(upiUri);

```

Also Read UPI Linking Specs to create custom upiUri 👇

{% file src="<https://3486437323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FB2As2iFgf58pZ0spvUpW%2Fuploads%2F6WJtsaXj2ljpzdorQto3%2FUPI.Linking.Specs_ver.1.6.0.pdf?alt=media&token=e766eccb-8b5c-45d7-a77b-fd1f8951c1d6>" %}
UPI Linking Specs to create custom upiUri
{% endfile %}
