Pay by Link - APIs
You can use our Pay by Link APIs to create your custom flows to personalize the digital journey of your customers.
Advantages of Geidea's Pay by Link APIs
Advantage | Description |
---|---|
Personalization | The APIs empower you to tailor the digital user experience and equip you with robust tools for monitoring payment links. |
Control | Take full command of the payment process using our Pay by Link APIs. They offer a multitude of capabilities, including configuring accepted payment methods, customizing invoices to reflect your brand identity, sending reminders, and more. |
Please check out the prerequisites section before beginning your integration!
Usage of the API environment endpoints
Please make sure you use the correct endpoint based on your environment
- KSA Environment: https://api.ksamerchant.geidea.net/
- Egypt Environment: https://api.merchant.geidea.net/
- UAE Environment: https://api.geidea.ae/
List of APIs
API Reference | Description |
---|---|
Create Payment Link | Create a new standard payment link. |
Create Payment Link | Create a new quick payment link. |
Update Payment Link | Update a payment link that has been created and not paid. |
Delete Payment Link | Delete a payment link that has been issued. |
Fetch Payment Link Details | API to view Payment Link details by providing the Payment Link id |
Fetch All or Search Payment Links | This API helps you retrieve all payment links based on some filter criteria. You can use this API to search among payment links created by you. |
Send Payment Link by e-mail | This API helps you send the payment link to your customer to the email used in the Create Payment Link API call |
Send Payment Link by SMS | This API helps you send the payment link to your customer as an SMS to the phone number used in the Create Payment Link API call |
Creating a Payment Link
Step 1: Creating a Payment Link
You can create a Payment Link by calling the Create Payment Link API.
What's a Payment Link!
- Payment Link is a unique URL that you can generate to allow customers to make payments online.
- It can contain details about the goods or services sold and the amount you want to collect from your customers. They ensure secure payment handling and protect customers from unauthorized charges.
To initiate a Create Payment Link API call, you will need to provide the following required fields along with the payload of the API.
Parameter | Description | Mandatory |
---|---|---|
amount | The total amount for the transaction. The amount must be greater than 0.01. Must not have more than 2 digits after the decimal point. | Yes |
currency | Currency of the order for which the authentication is initiated. Please follow ISO 4217 alpha code standards for the currency code. The currency code must be 3 characters in length. The currencies must be limited to the list configured for your merchant account. | Yes |
callbackUrl | This callback is a plain HTTP POST request to a merchant-defined URL endpoint to receive the response payload after a transaction is successful or failed. | No |
customer | Details of the customer for whom the payment link is being generated | Yes |
customer.email | Email of customer. Either email or phoneNumber must be present. | Conditional |
customer.name | Customer name | Yes |
customer.phoneCountryCode | Country code of customer's phone number eg: "+971". If phoneNumber is passed, phoneCountryCode must be passed | Conditional |
customer.phoneNumber | Customer's phone number eg: "511111111". If phoneCountryCode is passed, phoneNumber must be passed. | Conditional |
eInvoiceDetails | Details of the eInvoice that includes item details and price breakdown | Yes |
eInvoiceDetails.eInvoiceItems | List of e-Invoice items | Yes |
eInvoiceDetails.eInvoiceItems.price | Item Price | Yes |
eInvoiceDetails.eInvoiceItems.quantity | Quantity of item | Yes |
eInvoiceDetails.eInvoiceItems.description | Item description. If not set in request, it is set to null automatically and the value is returned in response. | No |
eInvoiceDetails.eInvoiceItems.eInvoiceItemId | e-Invoice item ID | No |
eInvoiceDetails.eInvoiceItems.itemDiscountType | Type of discount applied on item. Available values are: "Amount" or "Percentage". Default Value: "Amount" | No |
eInvoiceDetails.eInvoiceItems.taxType | Type of tax levied on item. Available values are: "Amount" or "Percentage". Default Value: "Amount" | No |
eInvoiceDetails.eInvoiceItems.total | Total price including tax levied. Must be equal to [eInvoiceItems.price * eInvoiceItems.quantity] | Yes |
eInvoiceDetails.eInvoiceItems.priceWithDiscount | Item price after discount is applied. If not set in request, it is set to value of eInvoiceItems.price automatically and the value is returned in response | No |
eInvoiceDetails.eInvoiceItems.priceTax | Tax on Item Price. If not set in request, it is set to zero automatically and the value is returned in response. | No |
eInvoiceDetails.eInvoiceItems.priceTotal | Total Price inclusive of Tax. If not set in request, it is set to value of eInvoiceItems.price automatically and the value is returned in response. | No |
eInvoiceDetails.eInvoiceItems.sku | Item SKU. If not set in request, it is set to null automatically and the value is returned in response. | No |
eInvoiceDetails.eInvoiceItems.itemDiscount | Discount applied on item. If not set in request, it is set to null automatically and the value is returned in response. | No |
eInvoiceDetails.eInvoiceItems.tax | Tax on item. If not set in request, it is set to null automatically and the value is returned in response. | No |
eInvoiceDetails.eInvoiceItems.totalWithoutTax | Total price of item without tax. If not set in request, it is set to value of amount automatically and the value is returned in response. | No |
eInvoiceDetails.eInvoiceItems.totalTax | Tax for the item. If not set in request, it is set to zero automatically and the value is returned in response. | No |
eInvoiceDetails.subtotal | Amount for which payment link is created. Amount must be greater than 0.01. Must be equal to [eInvoiceItems.price * eInvoiceItems.quantity] | Yes |
eInvoiceDetails.grandTotal | Grand Total. Must be equal to [eInvoiceItems.price * eInvoiceItems.quantity]. Must be same as amount. | Yes |
eInvoiceDetails.subtotalWithoutTax | Subtotal exclusive of tax. Must be equal to [eInvoiceItems.price * eInvoiceItems.quantity] if passed. If not set in request, it is set to [eInvoiceItems.price * eInvoiceItems.quantity] value automatically and the value is returned in response. | No |
eInvoiceDetails.subtotalTax | Subtotal tax. If not set in request, it is set to zero automatically and the value is returned in response | No |
eInvoiceDetails.extraChargesType | Type of extra charges levied. Available values are: "Amount" or "Percentage". Default Value: "Amount" | No |
eInvoiceDetails.invoiceDiscountType | Type of discount applied on invoice. Available values are: "Amount" or "Percentage". Default Value: "Amount" | No |
eInvoiceDetails.type | Type of eInvoice. If not set in request, it is set to "Detailed" automatically and the value is returned in response. | No |
eInvoiceDetails.collect CustomersBillingShippingAddress` | Flag indicating to capture Customer's billing and shipping addresses. If not set in request, it is set to false automatically and the value is returned in response | No |
eInvoiceDetails.preAuthorizeAmount | Flag indicating whether to preauthorize the amount. If not set in request, it is set to false automatically and the value is returned in response. | No |
eInvoiceDetails.extraCharges | Extra charges levied. If not set in request, it is set to null automatically and the value is returned in response. | No |
eInvoiceDetails.chargeDescription | Description of charge levied. If not set in request, it is set to null automatically and the value is returned in response. | No |
eInvoiceDetails.merchantReferenceId | The merchant account identifier for which the payment link is created. | No |
eInvoiceDetails.invoiceDiscount | Discount applied on invoice. If not set in request, it is set to null automatically and the value is returned in response. | No |
eInvoiceDetails.language | Language to be displayed in Payment Page. If not set in request, it is set to "EN" automatically and the value is returned in response. | No |
You can find a complete list of parameters that can be used with the Create Payment Link API here.
Below is an example of executing a Create payment link call for a payment of 123.21 EGP with the mandatory parameters.
curl --request POST \
--url https://api.merchant.geidea.net/payment-intent/api/v1/direct/eInvoice \
--header 'accept: application/json' \
--header 'authorization: Basic YTA4N2Y0Y2EtOTg5MC00MDdiLTljMmYtNzYzMDgzNmNjMDIwOjI2ZDMxOTE3LTcxNWUtNDhhYy1iMDcyLWRhOTczODAxNmFmNQ==' \
--header 'content-type: application/json' \
--data '
{
"amount": 20,
"currency": "SAR",
"customer": {
"name": "John",
"email": "[email protected]",
"phoneCountryCode": "+20",
"phoneNumber": "8003030083"
},
"eInvoiceDetails": {
"subtotal": 20,
"grandTotal": 20,
"extraChargesType": "Amount",
"invoiceDiscountType": "Amount",
"eInvoiceItems": [
{
"eInvoiceItemId": "17e95202-d151-43ff-d6af-08db4614f0bb",
"description": "Subscription for tech",
"price": 10,
"quantity": 2,
"itemDiscountType": "Amount",
"taxType": "Amount",
"total": 20,
"priceWithDiscount": 10,
"priceTax": 0,
"priceTotal": 10,
"sku": "1245",
"itemDiscount": 0,
"tax": 0,
"totalWithoutTax": 20,
"totalTax": 0
}
],
"callbackurl": "https://webhook.site/eb350004-1c84-48ef-8436-55c5a734cce4",
"language": "EN",
"invoiceDiscount": 0,
"merchantReferenceId": "ref123",
"chargeDescription": "charge amount",
"extraCharges": 0,
"subtotalWithoutTax": 20,
"preAuthorizeAmount": false,
"collectCustomersBillingShippingAddress": false,
"type": "Detailed",
"subtotalTax": 0
},
"expiryDate": "2024-05-10",
"activationDate": "2024-03-18"
}
'
{
"paymentIntent": {
"link": "https://merchant.geidea.net/payByLink/GeideaGatewayKSA/w23-ctb-8y9-78o",
"customer": {
"customerId": "938e6122-c42a-4ee1-4634-08dc400e9226",
"email": "[email protected]",
"phoneNumber": "8003030083",
"phoneCountryCode": "+20",
"name": "John",
"updatedBy": null,
"updatedDate": "2024-03-18T12:36:20.6459781Z",
"addresses": [],
"customValue": null
},
"eInvoiceDetails": {
"type": "Detailed",
"collectCustomersBillingShippingAddress": false,
"preAuthorizeAmount": false,
"subtotalWithoutTax": 20,
"subtotalTax": 0,
"subtotal": 20,
"grandTotal": 20,
"extraCharges": 0,
"extraChargesType": "Amount",
"extraChargesLabel": null,
"chargeDescription": "charge amount",
"merchantReferenceId": "ref123",
"invoiceDiscount": 0,
"invoiceDiscountType": "Amount",
"language": "EN",
"eInvoiceItems": [
{
"eInvoiceItemId": "e77e4795-8d14-4899-855b-08dc4011fb90",
"description": "Subscription for tech",
"price": 10,
"priceWithDiscount": 10,
"priceTax": 0,
"priceTotal": 10,
"quantity": 2,
"sku": "1245",
"itemDiscount": 0,
"itemDiscountType": "Amount",
"tax": 0,
"taxType": "Amount",
"totalWithoutTax": 20,
"totalTax": 0,
"total": 20
}
],
"callbackUrl": "https://webhook.site/eb350004-1c84-48ef-8436-55c5a734cce4",
"addOnFees": null,
"addOnFeesType": null,
"addOnFeesLabel": null
},
"eInvoiceSentLinks": [],
"customFields": null,
"paymentIntentId": "8f67f208-7a6d-4e5c-741e-08dc400e92f5",
"parentPaymentIntentId": null,
"number": "956638821339",
"urlSlug": "w23-ctb-8y9-78o",
"type": "EInvoice",
"amount": 20,
"currency": "SAR",
"merchantId": "e80ece7e-fb2a-4c0b-de94-08d8a29a107b",
"merchantPublicKey": "a087f4ca-9890-407b-9c2f-7630836cc020",
"expiryDate": "2024-05-10T00:00:00Z",
"activationDate": "2024-03-18T00:00:00Z",
"status": "Created",
"customerId": "938e6122-c42a-4ee1-4634-08dc400e9226",
"eInvoiceUploadId": null,
"staticPaylinkId": null,
"subscriptionId": null,
"subscriptionOccurrenceId": null,
"orders": [],
"isPending": true,
"createdDate": "2024-03-18T12:41:39.74096Z",
"createdBy": "e80ece7e-fb2a-4c0b-de94-08d8a29a107b",
"updatedDate": null,
"updatedBy": null
},
"termsAndConditions": null,
"responseMessage": "Success",
"detailedResponseMessage": "The operation was successful",
"language": "EN",
"responseCode": "000",
"detailedResponseCode": "000"
}
API Response
As shown above, the parameter paymentIntent.link
is returned in the response. You have the flexibility to programmatically share this link with your customers via SMS and email. Upon the customer's attempt to use the payment link, you'll receive notifications regarding the success or failure of the payment transaction..
Step 2: Sending the Payment Link to your customer.
Once you've generated the payment link, simply share it to your customer for payment completion. Upon clicking the link, your customer will be directed to a Geidea-hosted payment page where they can securely finalize the payment using their preferred payment method.
Step 3: Complete Payment using Hosted Payment Page or Direct API.
Upon clicking the payment link, a secure Geidea Hosted Payment Page appears where your customer fills in their payment details. The form validates inputs, notifying customers of errors if any. Once validated, the pay button activates, allowing customers to proceed with the payment seamlessly..
Upon completing the payment, the customer will be redirected (if the options is enabled by the merchant) to a page displaying a summary of the order.
Update a Payment Link
You can also update a payment link with the help of our Update Payment Link API. This API can be used to carry out actions such as updating the expiry date of a payment link, updating the status of a payment link after sending the link to the customer by the Merchant and so on.
When you call the Create Payment Link API, a paymentIntentId
parameter is returned with the API response. You must use the paymentIntentId
parameter in the Update Payment Link API call to update the properties of a payment link.
To initiate an Update Payment Link API call, you will need to provide the following required fields along with the payload of the API.
Parameter | Datatype | Description | Mandatory |
---|---|---|---|
paymentIntentId | string | Unique ID assigned by the Geidea platform for the payment link | Yes |
amount | double | The total amount for the transaction. The amount must be greater than 0.01. Must not have more than 2 digits after the decimal point. | Yes |
currency | string | Currency of the order for which the authentication is initiated. Please follow ISO 4217 alpha code standards for the currency code. The currency code must be 3 characters in length. The currencies must be limited to the list configured for your merchant account. | Yes |
customer | object | Details of the customer for whom the payment link is being updated | No |
customer.email | string | Email of the customer. | Optional |
customer.name | string | Customer name. If customer object is added then having the customer name is mandatory | Yes |
customer.phoneCountryCode | string | Country code of customer's phone number eg: "+971". If phoneNumber is passed, phoneCountryCode must be passed. | Optional |
customer.phoneNumber | string | Customer's phone number eg: "511111111". If phoneCountryCode is passed, phoneNumber must be passed. One of email or phoneNumber must be present. | Optional |
customerId | string | Unique ID for the customer on the Geidea payment gateway. The identifier you can use to uniquely identify your customer on the Geidea platform | No |
eInvoiceDetails | object | e-Invoice details object | Yes |
eInvoiceDetails.subtotal | double | Subtotal inclusive of tax. Must be equal to [eInvoiceItems.price * eInvoiceItems.quantity ] sent in this request | Yes |
eInvoiceDetails.grandTotal | double | Grand Total. Must be equal to [eInvoiceItems.price * eInvoiceItems.quantity] sent in this request. | Yes |
eInvoiceDetails.subtotalWithoutTax | double | Subtotal exclusive of tax. Must be equal to [eInvoiceItems.price * eInvoiceItems.quantity] if passed. If not set in request, it is set to [eInvoiceItems.price * eInvoiceItems.quantity] value automatically and the value is returned in response. | No |
eInvoiceDetails.subtotalTax | double | Subtotal tax. If not set in request, it is set to zero automatically and the value is returned in response | No |
eInvoiceDetails.extraChargesType | string | Type of extra charges levied. Available values are: "Amount" or "Percentage". Default Value: "Amount" | No |
eInvoiceDetails.invoiceDiscountType | string | Type of discount applied on invoice. Available values are: "Amount" or "Percentage". Default Value: "Amount" | No |
eInvoiceDetails.type | string | Type of eInvoice. If not set in request, it is set to "Detailed" automatically and the value is returned in response. | No |
eInvoiceDetails.collectCustomersBilling ShippingAddress | boolean | Flag indicating to capture Customer's billing and shipping addresses. If not set in request, it is set to false automatically and the value is returned in response | No |
eInvoiceDetails.preAuthorizeAmount | boolean | Flag indicating whether to preauthorize the amount. If not set in request, it is set to false automatically and the value is returned in response. | No |
eInvoiceDetails.extraCharges | double | Extra charges levied. If not set in request, it is set to null automatically and the value is returned in response. | No |
eInvoiceDetails.chargeDescription | string | Description of charge levied. If not set in request, it is set to null automatically and the value is returned in response. | No |
eInvoiceDetails.merchantReferenceId | string | The merchant account identifier for which the payment link is created. | No |
eInvoiceDetails.invoiceDiscount | double | Discount applied on invoice. If not set in request, it is set to null automatically and the value is returned in response. | No |
eInvoiceDetails.language | string | Language to be displayed in Payment Page. If not set in request, it is set to "EN" automatically and the value is returned in response. | No |
eInvoiceDetails.eInvoiceItems | object | List of e-Invoice items | Yes |
eInvoiceDetails.eInvoiceItems.price | double | Updated price for items | Yes |
eInvoiceDetails.eInvoiceItems.quantity | integer | Updated quantity of items | Yes |
eInvoiceDetails.eInvoiceItems.total | double | Updated total | Yes |
eInvoiceDetails.eInvoiceItems.eInvoiceItemId | string | e-Invoice item ID | No |
eInvoiceDetails.eInvoiceItems.description | string | Item description. If not set in request, it is set to null automatically and the value is returned in response. | No |
eInvoiceDetails.eInvoiceItems.itemDiscountType | string | Type of discount applied on item. Available values are: "Amount" or "Percentage". Default Value: "Amount" | No |
eInvoiceDetails.eInvoiceItems.taxType | string | Type of tax levied on item. Available values are: "Amount" or "Percentage". Default Value: "Amount" | No |
eInvoiceDetails.eInvoiceItems.total | double | Total price including tax levied. Must be equal to [eInvoiceItems.price * eInvoiceItems.quantity] | No |
eInvoiceDetails.eInvoiceItems.priceWithDiscount | double | Item price after discount is applied. If not set in request, it is set to value of eInvoiceItems.price automatically and the value is returned in response | No |
eInvoiceDetails.eInvoiceItems.priceTax | double | Tax on Item Price. If not set in request, it is set to zero automatically and the value is returned in response. | No |
eInvoiceDetails.eInvoiceItems.priceTotal | double | Total Price inclusive of Tax. If not set in request, it is set to value of eInvoiceItems.price automatically and the value is returned in response. | No |
eInvoiceDetails.eInvoiceItems.sku | string | Item SKU. If not set in request, it is set to null automatically and the value is returned in response. | No |
eInvoiceDetails.eInvoiceItems.itemDiscount | double | Discount applied on item. If not set in request, it is set to null automatically and the value is returned in response. | No |
eInvoiceDetails.eInvoiceItems.tax | double | Tax on item. If not set in request, it is set to null automatically and the value is returned in response. | No |
eInvoiceDetails.eInvoiceItems.totalWithoutTax | double | Total price of item without tax. If not set in request, it is set to value of amount automatically and the value is returned in response. | No |
eInvoiceDetails.eInvoiceItems.totalTax | double | Tax for the item. If not set in request, it is set to zero automatically and the value is returned in response. | No |
status | string | Status of the Payment Link. Only SentToCustomer is allowed for merchant to change | No |
You can find a complete list of parameters that can be used with the Update Payment Link API here.
Below is an example of executing an Update Payment Link API call for a payment of 123.2 SAR with the mandatory parameters.
curl --request PUT \
--url https://api.merchant.geidea.net/payment-intent/api/v1/direct/eInvoice \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"paymentIntentId": "8f67f208-7a6d-4e5c-741e-08dc400e92f5",
"amount": 20,
"currency": "SAR",
"customer": {
"name": "John",
"email": "[email protected]",
"phoneCountryCode": "+20",
"phoneNumber": "8003030083"
},
"eInvoiceDetails": {
"subtotal": 20,
"grandTotal": 20,
"extraChargesType": "Amount",
"invoiceDiscountType": "Amount",
"eInvoiceItems": [
{
"eInvoiceItemId": "17e95202-d151-43ff-d6af-08db4614f0bb",
"description": "Subscription for tech1",
"price": 10,
"quantity": 2,
"itemDiscountType": "Amount",
"taxType": "Amount",
"total": 20,
"priceWithDiscount": 10,
"priceTax": 0,
"priceTotal": 10,
"itemDiscount": 0,
"tax": 0,
"totalWithoutTax": 20,
"totalTax": 0,
"sku": "12456"
}
],
"type": "Detailed",
"collectCustomersBillingShippingAddress": false,
"preAuthorizeAmount": true,
"subtotalWithoutTax": 20,
"subtotalTax": 0,
"extraCharges": 0,
"chargeDescription": "charge amount update",
"merchantReferenceId": "ref123",
"invoiceDiscount": 0,
"language": "EN"
},
"status": "SentToCustomer"
}
'
{
"paymentIntent": {
"link": "https://merchant.geidea.net/payByLink/GeideaGatewayKSA/w23-ctb-8y9-78o",
"customer": {
"customerId": "938e6122-c42a-4ee1-4634-08dc400e9226",
"email": "[email protected]",
"phoneNumber": "8003030083",
"phoneCountryCode": "+20",
"name": "John",
"updatedBy": "PGW",
"updatedDate": "2024-03-19T09:23:31.4158777Z",
"addresses": [],
"customValue": null
},
"eInvoiceDetails": {
"type": "Detailed",
"collectCustomersBillingShippingAddress": false,
"preAuthorizeAmount": true,
"subtotalWithoutTax": 20,
"subtotalTax": 0,
"subtotal": 20,
"grandTotal": 20,
"extraCharges": 0,
"extraChargesType": "Amount",
"extraChargesLabel": null,
"chargeDescription": "charge amount update",
"merchantReferenceId": "ref123",
"invoiceDiscount": 0,
"invoiceDiscountType": "Amount",
"language": "EN",
"eInvoiceItems": [
{
"eInvoiceItemId": "7ca2efb5-8721-4539-b43f-08dc40161532",
"description": "Subscription for tech1",
"price": 10,
"priceWithDiscount": 10,
"priceTax": 0,
"priceTotal": 10,
"quantity": 2,
"sku": "12456",
"itemDiscount": 0,
"itemDiscountType": "Amount",
"tax": 0,
"taxType": "Amount",
"totalWithoutTax": 20,
"totalTax": 0,
"total": 20
}
],
"callbackUrl": "https://webhook.site/eb350004-1c84-48ef-8436-55c5a734cce4",
"addOnFees": null,
"addOnFeesType": null,
"addOnFeesLabel": null
},
"eInvoiceSentLinks": [],
"customFields": null,
"paymentIntentId": "8f67f208-7a6d-4e5c-741e-08dc400e92f5",
"parentPaymentIntentId": null,
"number": "956638821339",
"urlSlug": "w23-ctb-8y9-78o",
"type": "EInvoice",
"amount": 20,
"currency": "SAR",
"merchantId": "e80ece7e-fb2a-4c0b-de94-08d8a29a107b",
"merchantPublicKey": "a087f4ca-9890-407b-9c2f-7630836cc020",
"expiryDate": "2024-05-10T00:00:00Z",
"activationDate": "2024-03-18T00:00:00Z",
"status": "SentToCustomer",
"customerId": "938e6122-c42a-4ee1-4634-08dc400e9226",
"eInvoiceUploadId": null,
"staticPaylinkId": null,
"subscriptionId": null,
"subscriptionOccurrenceId": null,
"orders": [],
"isPending": true,
"createdDate": "2024-03-18T12:41:39.74096Z",
"createdBy": "e80ece7e-fb2a-4c0b-de94-08d8a29a107b",
"updatedDate": "2024-03-19T09:23:31.3091588Z",
"updatedBy": "e80ece7e-fb2a-4c0b-de94-08d8a29a107b"
},
"termsAndConditions": null,
"responseMessage": "Success",
"detailedResponseMessage": "The operation was successful",
"language": "EN",
"responseCode": "000",
"detailedResponseCode": "000"
}
Delete payment link
You can delete Payment Links issued to your customers using the Delete payment link API.
You can only delete Payment Links that are in the Created state.
You need to pass the following parameter(s) as path parameter(s) in the API request
Parameter | Datatype | Description | Mandatory |
---|---|---|---|
paymentIntentId | string | Payment Intent ID that was generated when the payment link was created. | Yes |
Below is an example of executing a Cancel Payment Link API call.
curl --location --request DELETE 'https://api.merchant.geidea.net/payment-intent/api/v1/direct/eInvoice/9fca0f3d-bd93-469b-0782-08daf7ec2bc4' \
--header 'accept: text/plain' \
--header 'Authorization: Basic YTA4N2Y0Y2EtOTg5MC00MDdiLTljMmYtNzYzMDgzNmNjMDIwOmRmMGZjNjg3LTc4M2ItNDA1OC1hZjYzLTllODc2NDQ0YjM1Nw=='
{
"responseMessage": "Success",
"detailedResponseMessage": "The operation was successful",
"language": "EN",
"responseCode": "000",
"detailedResponseCode": "000"
}
Send Payment Link via e-mail
You can send a Payment Link to your customers via e-mail using the Send Payment Link by email API.
You can only send Payment Links that are in the Created state.
You need to pass the following parameter(s) as path parameter(s) in the API request
Parameter | Datatype | Description | Mandatory |
---|---|---|---|
paymentIntentId | string | Payment Intent ID that was generated when the payment link was created. | Yes |
Below is an example of executing a Cancel Payment Link API call.
curl --location --request POST 'https://api.merchant.geidea.net/payment-intent/api/v1/direct/eInvoice/219e4abd-901f-4f79-a4de-08db661548fa/SendByEmail' \
--header 'Authorization: Basic ZDllZmU5MDUtZTAxNS00ZjgyLWI5YTAtOTAwNjUxZmZhZTZlOjFiNzFkNjY1LTk0YjUtNDM3OS04ODQ4LWFiOWRlMjFmYzE2ZQ==' \
--data ''
{
"paymentIntent": {
"link": "https://merchant.geidea.net/payByLink/rbt-6sr-5dz-0gt",
"customer": {
"customerId": "d5ace925-35a0-4b2c-c768-08db6623eb3b",
"email": "[email protected]",
"phoneNumber": "1008529854",
"phoneCountryCode": "+20",
"name": "sidra",
"updatedBy": null,
"updatedDate": "2023-06-25T16:16:27.7450601Z",
"addresses": []
},
"eInvoiceDetails": {
"type": "Detailed",
"collectCustomersBillingShippingAddress": false,
"preAuthorizeAmount": false,
"subtotalWithoutTax": 1000.00,
"subtotalTax": 0.00,
"subtotal": 1000.00,
"grandTotal": 1000.00,
"extraCharges": null,
"extraChargesType": "Amount",
"chargeDescription": null,
"merchantReferenceId": "MECH990",
"invoiceDiscount": null,
"invoiceDiscountType": "Amount",
"language": "EN",
"eInvoiceItems": [
{
"eInvoiceItemId": "2b261d67-b789-45d7-b811-08db66739c9a",
"description": null,
"price": 100.00,
"priceWithDiscount": 100.00,
"priceTax": 0.00,
"priceTotal": 100.00,
"quantity": 10,
"sku": null,
"itemDiscount": null,
"itemDiscountType": "Amount",
"tax": null,
"taxType": "Amount",
"totalWithoutTax": 1000.00,
"totalTax": 0.00,
"total": 1000.00
}
]
},
"eInvoiceSentLinks": [
{
"sentDate": "2023-07-02T05:16:04.1401636Z",
"channel": "Email",
"recipient": "[email protected]"
}
],
"paymentIntentId": "219e4abd-901f-4f79-a4de-08db661548fa",
"number": "739052552147",
"urlSlug": "rbt-6sr-5dz-0gt",
"type": "EInvoice",
"amount": 1000.00,
"currency": "EGP",
"merchantId": "605c83e8-b0e7-4907-8878-08db6b89eb58",
"merchantPublicKey": "d9efe905-e015-4f82-b9a0-900651ffae6e",
"expiryDate": "2023-07-26T12:32:44.5226275Z",
"activationDate": null,
"status": "SentToCustomer",
"customerId": "d5ace925-35a0-4b2c-c768-08db6623eb3b",
"eInvoiceUploadId": null,
"staticPaylinkId": null,
"subscriptionId": null,
"subscriptionOccurrenceId": null,
"orders": [],
"isPending": true,
"createdDate": "2023-06-26T12:32:45.0134668Z",
"createdBy": "605c83e8-b0e7-4907-8878-08db6b89eb58",
"updatedDate": "2023-07-02T05:16:04.1856881Z",
"updatedBy": "PGW"
},
"termsAndConditions": null,
"responseMessage": "Success",
"detailedResponseMessage": "The operation was successful",
"language": "EN",
"responseCode": "000",
"detailedResponseCode": "000"
}
Send Payment Link via SMS
You can send a Payment Link to your customers via e-mail using the Send Payment Link by SMS API.
You need to pass the following parameter(s) as path parameter(s) in the API request
Parameter | Datatype | Description | Mandatory |
---|---|---|---|
paymentIntentId | string | Payment Intent ID that was generated when the payment link was created. | Yes |
Below is an example of executing a Cancel Payment Link API call.
curl --location --request POST 'https://api.merchant.geidea.net/payment-intent/api/v1/direct/eInvoice/b27ce64c-4dc1-4b52-409a-08db662a73ff/sendBySms' \
--header 'Authorization: Basic ZDllZmU5MDUtZTAxNS00ZjgyLWI5YTAtOTAwNjUxZmZhZTZlOjFiNzFkNjY1LTk0YjUtNDM3OS04ODQ4LWFiOWRlMjFmYzE2ZQ==' \
--data ''
{
"paymentIntent": {
"link": "https://merchant.geidea.net/payByLink/rbt-6sr-5dz-0gt",
"customer": {
"customerId": "d5ace925-35a0-4b2c-c768-08db6623eb3b",
"email": "[email protected]",
"phoneNumber": "1008529854",
"phoneCountryCode": "+20",
"name": "sidra",
"updatedBy": null,
"updatedDate": "2023-06-25T16:16:27.7450601Z",
"addresses": []
},
"eInvoiceDetails": {
"type": "Detailed",
"collectCustomersBillingShippingAddress": false,
"preAuthorizeAmount": false,
"subtotalWithoutTax": 1000.00,
"subtotalTax": 0.00,
"subtotal": 1000.00,
"grandTotal": 1000.00,
"extraCharges": null,
"extraChargesType": "Amount",
"chargeDescription": null,
"merchantReferenceId": "MECH990",
"invoiceDiscount": null,
"invoiceDiscountType": "Amount",
"language": "EN",
"eInvoiceItems": [
{
"eInvoiceItemId": "2b261d67-b789-45d7-b811-08db66739c9a",
"description": null,
"price": 100.00,
"priceWithDiscount": 100.00,
"priceTax": 0.00,
"priceTotal": 100.00,
"quantity": 10,
"sku": null,
"itemDiscount": null,
"itemDiscountType": "Amount",
"tax": null,
"taxType": "Amount",
"totalWithoutTax": 1000.00,
"totalTax": 0.00,
"total": 1000.00
}
]
},
"eInvoiceSentLinks": [
{
"sentDate": "2023-07-02T05:18:57.5098924Z",
"channel": "Sms",
"recipient": "+201008529854"
},
{
"sentDate": "2023-07-02T05:16:04.1401636Z",
"channel": "Email",
"recipient": "[email protected]"
}
],
"paymentIntentId": "219e4abd-901f-4f79-a4de-08db661548fa",
"number": "739052552147",
"urlSlug": "rbt-6sr-5dz-0gt",
"type": "EInvoice",
"amount": 1000.00,
"currency": "EGP",
"merchantId": "605c83e8-b0e7-4907-8878-08db6b89eb58",
"merchantPublicKey": "d9efe905-e015-4f82-b9a0-900651ffae6e",
"expiryDate": "2023-07-26T12:32:44.5226275Z",
"activationDate": null,
"status": "SentToCustomer",
"customerId": "d5ace925-35a0-4b2c-c768-08db6623eb3b",
"eInvoiceUploadId": null,
"staticPaylinkId": null,
"subscriptionId": null,
"subscriptionOccurrenceId": null,
"orders": [],
"isPending": true,
"createdDate": "2023-06-26T12:32:45.0134668Z",
"createdBy": "605c83e8-b0e7-4907-8878-08db6b89eb58",
"updatedDate": "2023-07-02T05:16:04.1856881Z",
"updatedBy": "PGW"
},
"termsAndConditions": null,
"responseMessage": "Success",
"detailedResponseMessage": "The operation was successful",
"language": "EN",
"responseCode": "000",
"detailedResponseCode": "000"
}
Updated 2 months ago