Payment links
Payment links let you collect payment without embedding checkout in your purchase flow. Your backend generates a URL; you send it by email, SMS, or any channel.Sequence
Generate a link
POST /pay/api/generate-payment-link
Compared to integrated checkout, payment links require:
generalPurchaseDescriptionuserEmail(valid email)culture(esoren)
| Field | Description |
|---|---|
checkoutSessionId | Session ID for status queries |
paymentLink | Full URL to share with the payer |
internalTransactionReferenceNumber | Vpay internal reference |
expirationDateTime | Link expiry (UTC) |
Payment link URL
ThepaymentLink value is built from the BaseUrlPaymentLink configuration for your environment (e.g. {sandboxBaseUrl}/pay/link/{checkoutSessionId}).
Payers open:
lg sets checkout language (es or en).
Expiration
WhenexpirationDateTime passes, the link is no longer valid. Opening an expired link shows an error page. Generate a new link with a fresh transactionReferenceNumber if needed.
Status polling
Unlike integrated checkout, you may not receive a browser callback. Poll:state indicates a terminal outcome (Successful, Failed, or ApprovedTransaction).

