Payment Link
A Payment Link is a shareable URL you can send to a customer to collect a single payment or set up a subscription, without writing any checkout code. Open the URL in any browser and we render the hosted checkout, collect payment details, and process the payment. Use Payment Links for one-off invoices, social-media checkout, in-person QR codes, or anywhere you need a checkout page without integrating the SDK.
A Payment Link is a shareable URL you can send to a customer to collect a single payment or set up a subscription, without writing any checkout code. Open the URL in any browser and we render the hosted checkout, collect payment details, and process the payment. Use Payment Links for one-off invoices, social-media checkout, in-person QR codes, or anywhere you need a checkout page without integrating the SDK.
{
"id": "plink_abc123",
"object": "payment_link",
"merchantId": "mer_xyz789",
"active": true,
"expiresAt": "string",
"currency": "EGP",
"computedAmount": 100000,
"nameCollection": false,
"billingAddressCollection": false,
"shippingAddressCollection": false,
"phoneNumberCollection": false,
"allowPromotionCodes": false,
"submitType": "PAY",
"customerCreation": "always",
"afterCompletion": {
"type": "redirect",
"redirect": {
"url": "string"
},
"hostedConfirmation": {
"customMessage": "string",
"returnUrl": "string"
}
},
"lineItems": [
{
"id": "li_abc123",
"quantity": 1,
"price": {},
"adjustableQuantity": {},
"amountSubtotal": 200000,
"amountTotal": 200000,
"amountDiscount": 0,
"amountTax": 0,
"currency": "EGP",
"description": "Premium Plan - Monthly",
"presentmentDetails": {}
}
],
"customFields": [
{
"label": "Company Name",
"type": "TEXT",
"isOptional": false,
"hasLimits": false,
"limitType": "BETWEEN",
"minCharacters": 5,
"maxCharacters": 100,
"dropdownOptions": [
{}
]
}
],
"feeConfig": {
"feesPassThrough": false,
"vatCollectionEnabled": false,
"vatCollectionRate": 1400,
"source": "merchant"
},
"metadata": {},
"brandingSettings": {
"colorMode": "light",
"borderStyle": "rounded",
"spacing": "condensed",
"inputSize": "small",
"inputStyle": "flat",
"formLayout": "compact",
"colors": {
"primary": "string",
"primaryForeground": "string",
"background": "string",
"foreground": "string",
"border": "string",
"input": "string",
"ring": "string",
"muted": "string",
"mutedForeground": "string",
"accent": "string",
"accentForeground": "string",
"destructive": "string"
},
"fontFamily": "string"
},
"paymentMethodConfigurationId": "string",
"createdAt": "string",
"updatedAt": "string"
}Payment Intent
A PaymentIntent tracks the full lifecycle of collecting one payment from your customer: from creation, through authorization and 3-D Secure, to capture and final outcome. We recommend creating one PaymentIntent per order: you can inspect its history of Charge attempts, watch its `status` as it transitions, and reference the successful Charge it ultimately produces. PaymentIntents are the object that the hosted Checkout and xpay.js drive on the client to complete a payment.
Price
A Price defines what a Product costs: the unit amount, currency, and (for subscriptions) billing interval. A single Product can have many Prices, letting you offer the same item in multiple currencies, tiers, or billing models without duplicating your catalog. Reference a Price by ID when creating Checkout Sessions, Payment Links, or line items, and the customer is charged according to what the Price defines.