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 | 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 | Required |
| expires_at | Date after which the Payment Link can no longer be paid. When omitted, the Payment Link never expires. | string (YYYY-MM-DD) | |
| 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": "2025-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": "2025-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"
}