DocumentationGET Read a payment link
Browser checkout API
GET
/links/{id}Read a payment link
Possession of the payment link ID addresses this checkout. The fixed amount comes from the dashboard link, never the request body.
Use your sandbox environment to start. Understand error codes and payment statuses before handling a live payment.
Read a payment link
curl --request GET "https://api.veyqo.org/checkout/v1/links/$PAYMENT_LINK_ID" \
--header "Accept: application/json"{
"success": true,
"data": {
"id": "plink_01M6EB66SC61Q3RQYAN0693DGM",
"object": "payment_link",
"title": "Order 1001",
"description": null,
"amount": 50000,
"currency": "NGN",
"merchant": {
"name": "Example Store"
},
"sandbox": true
}
}Illustrative examples. Replace IDs and environment variables with your own values. Keep secret keys on your server.
Headers
Acceptstringoptional- application/json
Endpoint
GET https://api.veyqo.org/checkout/v1/links/{id}
The resource ID addresses this customer checkout. Do not expose it unnecessarily. This endpoint supports the hosted page and checkout script.
Path and query parameters
| Parameter | Location | Required | Description |
|---|---|---|---|
| id | path | Yes | Use the ID returned when this resource was created. |
Response fields
idstringrequired- Payment link ID.
object"payment_link"required- See the JSON example.
titlestringrequired- See the JSON example.
descriptionstring | nullrequired- See the JSON example.
amountintegerrequired- Fixed minor-unit amount configured in the dashboard.
currencystringrequired- See the JSON example.
merchantobjectrequired- See the JSON example.
merchant.namestringrequired- See the JSON example.
sandboxbooleanrequired- See the JSON example.
Errors and recovery
| Code | HTTP | Recovery | Retry policy |
|---|---|---|---|
| VALIDATION_FAILED | 422 | Read error.details when present, correct the named fields and retry only after correction. Validation messages may describe state/capability errors without field details. | No automatic retry. |
| RESOURCE_NOT_FOUND | 404 | Check the ID, project and environment. Do not guess another project’s IDs. An inactive payment link is also not-found. | No blind retry. |
| RATE_LIMIT_EXCEEDED | 429 | Honor Retry-After, use bounded exponential backoff with jitter, and reduce concurrent requests. Read X-RateLimit headers. | Yes, after Retry-After; preserve write idempotency. |
| PROVIDER_UNAVAILABLE | 503 | Check the existing payment and verify its state before starting another attempt. Retry safe reads with backoff; preserve operation identity for retried writes. | Conditional: reconcile unknown outcomes first. |
| INTERNAL_ERROR | 500 | Record X-Request-Id, timestamp and sanitized request context. Reconcile unknown payment outcomes before retrying a write; contact support if it persists. | Safe reads: bounded backoff. Writes: reconcile first. |