Create Payment Link
Endpoint for creating a Payment Link.
info
Please be aware that this endpoint requires a Manage Payment Links API Key.
POST /api/v1/groups/{group_id}/payment-links
Request Parameters
| Name | Description | Type | Required |
|---|---|---|---|
| title | Title of the Payment Link. It will be seen by end-users, make sure it is recognizable. | string | Required |
| description | Description of the Payment Link. It will be seen by end-users. | string | |
| amount | Fixed amount to be charged. Must be greater than zero. | uint64 | Required |
| processor_id | Processor ID used for the transaction. | string | Required |
| card_enabled | If true, Card payment option will be shown on the public page. Either card_enabled or ach_enabled must be set to true. | bool | card_enabled or ach_enabled is Required |
| ach_enabled | If true, ACH payment option will be shown on the public page. Either card_enabled or ach_enabled must be set to true. | bool | card_enabled or ach_enabled is Required |
| expires_at | Timestamp after which the Payment Link can no longer be paid. Must represent a future instant. Expiration later on the same calendar day is supported by the API. The calendar date shown in the invitation email is based on the date in the submitted timestamp's UTC offset, rather than its UTC-converted date. When omitted, the Payment Link never expires. | string(RFC3339 format) | |
| redirect_url | An HTTPS URL your end-user is redirected to after a successful payment. | string |
Response
| Code | Description |
|---|---|
| 200 | Success |
| 400 | Bad Request / Validation error |
| 500 | Internal Error |
Example Usage
- JavaScript
- Python
- Go
create.js
var headers = new Headers();
headers.append('Authorization', 'API_KEY');
var requestOptions = {
method: 'POST',
headers: headers,
redirect: 'follow',
body: {
// request body data
}
};
const group_id = '';
const url = `https://api.reverepayments.dev/api/v1/groups/${group_id}/payment-links`;
fetch(url, requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log('error', error));
create.py
import requests
group_id = ""
url = "https://api.reverepayments.dev/api/v1/groups/"+group_id+"/payment-links"
headers = {
'Authorization': 'API_KEY'
}
response = requests.request("POST", url, headers=headers, json={
// request body data
})
print(response.text)
create.go
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
func main() {
const group_id = ""
url := "https://api.reverepayments.dev/api/v1/groups/" + group_id + "/payment-links"
client := &http.Client{}
body := bytes.NewBuffer(nil)
_ = json.NewEncoder(body).Encode(map[string]any{
// body data
})
req, _ := http.NewRequest("POST", url, body)
req.Header.Add("Authorization", "API_KEY")
res, _ := client.Do(req)
defer res.Body.Close()
bytes, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err.Error())
return
}
fmt.Println(string(bytes))
}
Example Request
{
"title": "Consulting session",
"description": "1 hour consulting session",
"amount": 15000,
"processor_id": "fbf2e44a-eed6-426f-b0e2-a3a5b34377c0",
"card_enabled": true,
"ach_enabled": true,
"expires_at": "2026-12-18T00:00:00.000Z",
"redirect_url": "https://example.com/thank-you"
}
Example Success Response
{
"id": "7e44c370-078e-4fa3-9909-bdd8554eb068",
"group_id": "8059f5c6-e1cd-4e46-9196-1d7e47401a3e",
"title": "Consulting session",
"description": "1 hour consulting session",
"amount": 15000,
"currency": "USD",
"card_enabled": true,
"ach_enabled": true,
"processor_id": "fbf2e44a-eed6-426f-b0e2-a3a5b34377c0",
"expires_at": "2026-12-18T00:00:00Z",
"redirect_url": "https://example.com/thank-you",
"status": "active",
"url": "https://merchant.reverepayments.dev/payment-links/7e44c370-078e-4fa3-9909-bdd8554eb068",
"created_at": "2025-11-18T14:27:10.661796389Z",
"updated_at": "2025-11-18T14:27:10.661796389Z"
}