Meeza QR APIs
You can now customize the checkout flow to enable your customers to pay using QR codes.
You can do it in the following ways
Payment Type | Description | API |
---|---|---|
Presenting QR code in the checkout flow | During the checkout process, you can call this API to generate a QR code and present to the customer. The customer then scans the QR code using his Meeza mobile app and completes the payment | Create QR Code API |
Initiating a request to payment notification to customer mobile | During the checkout process, you can call this API to initiate a payment request notification directly to the mobile app of the customer. The customer then uses the Meeza mobile app on his/her mobile and completes the payment. | Request for Payment API |
Create QR Code API
You can initiate a QR based payment using the Create QR Code API. The outcome of this API call is to generate a QR code that you can present to the customer during the checkout process.
You must have a valid session ID to initiate this API call.
You can get a session ID using the Create Session API.
API Request
To perform an Initiate authentication API call, you will need to provide the following required fields.
Parameter | Datatype | Description | Mandatory |
---|---|---|---|
sessionId | string | A session ID is a unique identifier that a server generates as part of the create session API call and assigns to a merchant transaction for the duration of the session (15 min). This is the Id parameter in the session object, in the response of the Create Session API call. | Yes |
merchantPublicKey | string | The unique identifier for the session given added by the merchant. Must be a valid UUID. | Yes |
You can find a complete list of parameters which can be used with the Create QR Code API here.
Below is an example of executing an Create QR Code API call for a payment with the mandatory parameters.
curl --location 'https://api.gd-pprod-infra.net/payment-intent/api/v2/meezaPayment/image/base64' \
--header 'authority: api.merchant.geidea.net' \
--header 'accept: */*' \
--header 'accept-language: en-GB,en;q=0.9,ar-EG;q=0.8,ar;q=0.7,en-US;q=0.6' \
--header 'content-type: application/json;charset=UTF-8' \
--header 'origin: https://www.merchant.geidea.net' \
--header 'referer: https://www.merchant.geidea.net/' \
--header 'sec-ch-ua: "Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"' \
--header 'sec-ch-ua-mobile: ?0' \
--header 'sec-ch-ua-platform: "Windows"' \
--header 'sec-fetch-dest: empty' \
--header 'sec-fetch-mode: cors' \
--header 'sec-fetch-site: same-site' \
--header 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36' \
--header 'x-language: en' \
--header 'Authorization: Basic MmE2YmZkZWYtM2E1MC00MGRhLTk3MTgtNDMwZDE1MjRmNjMyOjRlZTA0ODY5LWZkMzYtNDJlZS1iNmNkLTgyNTBhM2NkZTg5Yw==' \
--data '{
"merchantPublicKey": "2a6bfdef-3a50-40da-9718-430d1524f632",
"sessionId": "d267e391-a553-4a5e-ba77-08dc5fa2efa2"
}'
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.gd-pprod-infra.net/payment-intent/api/v2/meezaPayment/image/base64',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"merchantPublicKey": "2a6bfdef-3a50-40da-9718-430d1524f632",
"sessionId": "d267e391-a553-4a5e-ba77-08dc5fa2efa2"
}',
CURLOPT_HTTPHEADER => array(
'authority: api.merchant.geidea.net',
'accept: */*',
'accept-language: en-GB,en;q=0.9,ar-EG;q=0.8,ar;q=0.7,en-US;q=0.6',
'content-type: application/json;charset=UTF-8',
'origin: https://www.merchant.geidea.net',
'referer: https://www.merchant.geidea.net/',
'sec-ch-ua: "Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
'sec-ch-ua-mobile: ?0',
'sec-ch-ua-platform: "Windows"',
'sec-fetch-dest: empty',
'sec-fetch-mode: cors',
'sec-fetch-site: same-site',
'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36',
'x-language: en',
'Authorization: Basic MmE2YmZkZWYtM2E1MC00MGRhLTk3MTgtNDMwZDE1MjRmNjMyOjRlZTA0ODY5LWZkMzYtNDJlZS1iNmNkLTgyNTBhM2NkZTg5Yw=='
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
API Response
The key parameters sent in the API response are as follows:
Parameter | Description |
---|---|
image | A base 64 string representation of the QR image to be presented to the customer |
type | Proposed type of image to be rendered using the base-64 string as input |
message | |
paymentIntentId | Payment Request ID associated with the transaction. |
responseMessage | Detailed message associated with response from gateway |
detailedResponseMessage | Message associated with response from gateway |
language | Language used for API request |
responseCode | Code associated with response message returned by the gateway |
detailedResponseCode | Detailed Code associated with response message returned by the gateway |
A sample response to the Create QR API call is as follows:
{
"image": "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",
"type": "image/png",
"message": "00020101021226330016A000000732100001010967582629352044011530381854071850.005802EG5905فاليو6013ARISH 21D623005220NBU-JRMl0G6_QjcX6Lvog060064150002ar0105فاليو6304B9CB",
"paymentIntentId": "f854d0d0-4c94-4197-bafd-08dc5fa2efa2",
"responseMessage": "Success",
"detailedResponseMessage": "The operation was successful",
"language": "EN",
"responseCode": "000",
"detailedResponseCode": "000"
}
Request for Payment API
You can initiate a payment request directly to the Meeza mobile app of the customer using the Request for Payment API. The outcome of this API call is to initiate a payment request notification directly to the Meeza mobile app of the customer during the checkout process.
You must have a valid session ID and Payment Intent ID to initiate this API call.
You can get the session ID using the Create Session API call and the Payment Intent ID using the Create QR Code API call.
API Request
To perform an Request to Pay API call, you will need to provide the following required fields.
Parameter | Datatype | Description | Mandatory |
---|---|---|---|
receiverId | string | Mobile number of the customer to whose mobile the request for payment notification must be sent. Number must begin with zero (0). | Yes |
merchantPublicKey | string | The unique identifier for the session given added by the merchant. Must be a valid UUID. | Yes |
paymentIntentId | string | Payment Intent ID generated for the QR payment request as part of the Create QR code API call. Must be a valid UUID. | Yes |
sessionId | string | Unique ID for the payment session. Generated using the Create Session API call. Must be a valid UUID | Yes |
You can find a complete list of parameters which can be used with the Create QR Code API here.
Below is an example of executing an Request to Pay API call for a payment with the mandatory parameters.
curl --location 'https://api-test.gd-azure-dev.net/meeza/api/v2/direct/transaction/requestToPay' \
--header 'authority: api.merchant.geidea.net' \
--header 'accept: */*' \
--header 'accept-language: en-GB,en;q=0.9,ar-EG;q=0.8,ar;q=0.7,en-US;q=0.6' \
--header 'content-type: application/json;charset=UTF-8' \
--header 'origin: https://www.merchant.geidea.net' \
--header 'referer: https://www.merchant.geidea.net/' \
--header 'sec-ch-ua: "Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"' \
--header 'sec-ch-ua-mobile: ?0' \
--header 'sec-ch-ua-platform: "Windows"' \
--header 'sec-fetch-dest: empty' \
--header 'sec-fetch-mode: cors' \
--header 'sec-fetch-site: same-site' \
--header 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36' \
--header 'x-language: en' \
--header 'Authorization: Basic MjE5MDVhOTEtNDgxZS00YWExLThlNjktODYxYTU1ZTRhYzc0OjI2NWFjYWVjLWY0OWItNDU5MC05MDVmLWZhOTk0OTgyZGVhNA==' \
--data '{
"receiverId": "01115725100",
"merchantPublicKey": "21905a91-481e-4aa1-8e69-861a55e4ac74",
"paymentIntentId": "0688a8cc-d73e-4218-1247-08dc48bd35b5",
"sessionId": "f53f2cb0-1664-4451-f58b-08dc69147fdd"
}'
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api-test.gd-azure-dev.net/meeza/api/v2/direct/transaction/requestToPay',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"receiverId": "01115725100",
"merchantPublicKey": "21905a91-481e-4aa1-8e69-861a55e4ac74",
"paymentIntentId": "0688a8cc-d73e-4218-1247-08dc48bd35b5",
"sessionId": "f53f2cb0-1664-4451-f58b-08dc69147fdd"
}',
CURLOPT_HTTPHEADER => array(
'authority: api.merchant.geidea.net',
'accept: */*',
'accept-language: en-GB,en;q=0.9,ar-EG;q=0.8,ar;q=0.7,en-US;q=0.6',
'content-type: application/json;charset=UTF-8',
'origin: https://www.merchant.geidea.net',
'referer: https://www.merchant.geidea.net/',
'sec-ch-ua: "Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
'sec-ch-ua-mobile: ?0',
'sec-ch-ua-platform: "Windows"',
'sec-fetch-dest: empty',
'sec-fetch-mode: cors',
'sec-fetch-site: same-site',
'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36',
'x-language: en',
'Authorization: Basic MjE5MDVhOTEtNDgxZS00YWExLThlNjktODYxYTU1ZTRhYzc0OjI2NWFjYWVjLWY0OWItNDU5MC05MDVmLWZhOTk0OTgyZGVhNA=='
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
API Response
The key parameters sent in the API response are as follows:
Parameter | Description |
---|---|
responseCode | Code associated with response message returned by the gateway |
responseDescription | Detailed Code associated with response message returned by the gateway |
receiverName | Name of the customer |
receiverAddress | Address of the receiver |
A sample response to the Create QR API call is as follows:
{
"responseCode": "00000",
"responseDescription": "Approved Or Completed Successfully",
"receiverName": "",
"receiverAddress": ""
}
Polling for transaction status
Once the transaction has been initiated you must poll for the transaction status. This is done in the following steps
# | Step | Description | API |
---|---|---|---|
1 | Retrieve Order ID | This step is used to retrieve the order ID that is generated when the customer initiates a payment | Get Order ID |
2 | Retrieve Order Details | This step is used to retrieve the details of the order ID that is generated when the customer initiates a payment. The Order Details contain the final status of the transaction | Get Order Details |
Retrieve Order ID API
This is a GET API call and does not have a body in the request.
To perform a Retrieve Order ID API call, you will need to provide the following required field as a path parameter.
Parameter | Datatype | Description | Mandatory |
---|---|---|---|
paymentintentid | String | Payment Intent ID generated for the QR payment request as part of the Create QR code API call. Must be a valid UUID. | Yes |
Below is an example of executing a Retrieve Order ID API call for a payment with the mandatory parameters.
API Request
https://api.merchant.geidea.net/payment-intent/api/v1/paymentIntent/{Payment Intent ID}
API Response
The key parameters sent in the API response are as follows:
Parameter | Description |
---|---|
paymentIntentId | Payment Intent ID generated for the QR payment request as part of the Create QR code API call. This is a valid UUID. |
orderid | Unique ID associated with the Order. This is a valid UUID |
createdDate | Datetime stamp of order creation |
orderStatus | Status of order creation |
If the customer initiated a payment, an order ID is generated in the Geidea platform. The details of the Payment Intent along with the Order ID are retrieved.
If the customer does not initiate a payment, order ID is not generated in the Geidea platform. A null order Object is retrieved in this case
A sample response to the Retrieve Order ID API call is as follows:
{
"paymentIntent": {
"paymentIntentId": "c81d576e-bfe7-4377-1428-08dc69da66ec",
"parentPaymentIntentId": null,
"number": "602061367920",
"urlSlug": null,
"type": "MeezaPayment",
"amount": 123.00,
"currency": "EGP",
"merchantId": "6876f6bc-f8eb-4253-f160-08d973705ffb",
"merchantPublicKey": "6620c3e2-5088-41a8-8be6-98c003153932",
"expiryDate": "2024-05-10T12:56:14.354239Z",
"activationDate": null,
"status": "Paid",
"customerId": null,
"eInvoiceUploadId": null,
"staticPaylinkId": null,
"subscriptionId": null,
"subscriptionOccurrenceId": null,
"orders": [
{
"paymentIntentId": "c81d576e-bfe7-4377-1428-08dc69da66ec",
"orderId": "72bde1e7-22cf-42d4-3bc4-08dc69da0e58",
"createdDate": "2024-05-10T12:41:24.981062Z",
"orderStatus": "Success"
}
],
"isPending": false,
"createdDate": "2024-05-10T12:41:14.3823822Z",
"createdBy": "6876f6bc-f8eb-4253-f160-08d973705ffb",
"updatedDate": "2024-05-10T12:41:24.981062Z",
"updatedBy": "6876f6bc-f8eb-4253-f160-08d973705ffb"
},
"responseCode": "000",
"detailedResponseCode": "000"
}
Retrieve Order Details API
This is a GET API call and does not have a body in the request.
To perform a Get Order Details API call, you will need to provide the following required fields as a path parameter.
Parameter | Datatype | Description | Mandatory |
---|---|---|---|
paymentintentid | String | Payment Intent ID generated for the QR payment request as part of the Create QR code API call. Must be a valid UUID. | Yes |
orderID | String | Unique ID associated with the Order. Must be a valid UUID | Yes |
Below is an example of executing a Retrieve Order Details API call for a payment with the mandatory parameters.
API Request
https://api.merchant.geidea.net/pgw/api/v1/order/{Payment Intent ID}/{Order ID}
API Response
The key parameters sent in the API response are as follows:
Parameter | Description |
---|---|
order.transactions.codes.responseCode | Code associated with response message returned by the gateway |
order.transactions.codes.detailedResponseCode | Detailed Code associated with response message returned by the gateway |
If the customer initiated a payment, an order ID is generated in the Geidea platform. The details of the Payment Intent along with the Order ID are retrieved along with the final status of the transaction. If the final value of order.transactions.codes.responseCode
is '000', then the transaction is successful. For other response codes, transaction may be considered a failure.
A sample response to the Retrieve Order ID API call is as follows:
{
"order": {
"orderId": "72bde1e7-22cf-42d4-3bc4-08dc69da0e58",
"amount": 123.00,
"tipAmount": 0.00,
"convenienceFeeAmount": 0.00,
"totalAmount": 123.00,
"settleAmount": 123.00,
"currency": "EGP",
"settleCurrency": "EGP",
"language": "en",
"detailedStatus": "Paid",
"status": "Success",
"threeDSecureId": null,
"merchantId": "6876f6bc-f8eb-4253-f160-08d973705ffb",
"merchantPublicKey": "6620c3e2-5088-41a8-8be6-98c003153932",
"parentOrderId": null,
"merchantReferenceId": null,
"mcc": "5085",
"callbackUrl": "https://webhook.site/ed5ff8d8-5b2c-457c-b003-8659cbc1e6ed",
"billingAddress": {
"countryCode": null,
"street": null,
"city": null,
"postCode": null
},
"shippingAddress": {
"countryCode": null,
"street": null,
"city": null,
"postCode": null
},
"returnUrl": null,
"cardOnFile": false,
"tokenId": null,
"initiatedBy": null,
"agreementId": null,
"agreementType": null,
"amountVariability": null,
"paymentOperation": "Pay",
"custom": null,
"paymentIntent": {
"id": "c81d576e-bfe7-4377-1428-08dc69da66ec",
"parentPaymentIntentId": null,
"type": "MeezaPayment",
"number": "602061367920"
},
"restrictPaymentMethods": false,
"paymentMethods": null,
"platform": null,
"statementDescriptor": null,
"description": null,
"setDefaultPaymentMethod": false,
"recurrence": null,
"transactions": [
{
"transactionId": "17cb2a05-55af-4086-dbad-08dc69da0e5a",
"type": "Pay",
"status": "Success",
"amount": 123.00,
"currency": "EGP",
"source": "HPP",
"authorizationCode": null,
"rrn": "996bc4c1-d8a8-4c36-a335-74429bb3b2d9",
"stan": null,
"paymentMethod": {
"type": "QR",
"brand": "MeezaDigital",
"cardholderName": "",
"maskedCardNumber": "",
"wallet": "MeezaDigital",
"expiryDate": null,
"sameBank": false,
"issuingCountry": null,
"fundingType": null,
"issuingBank": null,
"cardCategory": null
},
"codes": {
"acquirerCode": null,
"acquirerMessage": null,
"responseCode": "000",
"responseMessage": "Success",
"detailedResponseCode": "000",
"detailedResponseMessage": "The operation was successful"
},
"authenticationDetails": null,
"postilionDetails": null,
"terminalDetails": null,
"meezaDetails": {
"transactionId": "17cb2a05-55af-4086-dbad-08dc69da0e5a",
"meezaTransactionId": "996bc4c1-d8a8-4c36-a335-74429bb3b2d9",
"type": "P2M",
"transactionTimeStamp": "2024-05-10T12:41:24.7304291",
"adviceId": "aeb94d02-ac1e-4d89-a00b-deab0c06152d",
"senderId": "00201004353401",
"senderName": "Test sender",
"senderAddress": "Test address",
"receiverId": "156503411",
"receiverName": null,
"receiverScheme": null,
"receiverAddress": null,
"amount": 123.00,
"currency": "EGP",
"description": "",
"responseCode": "00000",
"responseDescription": "Approved Or Completed Successfully",
"interchange": 0.00,
"interchangeAction": "",
"reference1": "#0522blcdyOe_d0MUKAjcadpm7A0600",
"reference2": "",
"tips": 0.00,
"convenienceFee": 0.00
},
"bnplDetails": null,
"bankInstallmentDetails": null,
"correlationId": "4f9bf790-f841-44f3-af22-8a57c85db60f",
"parentTransactionId": null,
"paymentAttemptId": null,
"acquirer": null,
"authorizationResponse": null,
"madaDetails": null,
"refundType": null,
"refundStatus": null,
"isExtensionComplete": null,
"extensionDate": null,
"deviceId": null,
"fingerPrintJson": null,
"fingerPrintRequestId": null,
"fingerPrintProviderName": null,
"geideaCodeDetails": null,
"visaInstallmentDetails": null,
"geideaCodeRefundDetails": null,
"createdDate": "2024-05-10T12:41:24.9359474",
"createdBy": "MeezaIntegrationApi",
"updatedDate": "2024-05-10T12:41:24.9359474",
"updatedBy": null
}
],
"orderItems": [],
"isTokenPayment": false,
"paymentMethod": {
"type": "QR",
"brand": "MeezaDigital",
"cardholderName": "",
"maskedCardNumber": "",
"wallet": "MeezaDigital",
"expiryDate": null,
"sameBank": false,
"issuingCountry": null,
"fundingType": null,
"issuingBank": null,
"cardCategory": null
},
"totalAuthorizedAmount": 123.00,
"totalCapturedAmount": 123.00,
"totalRefundedAmount": 0,
"orderSource": "GeideaGateway",
"paymentBrands": [
"meezadigital"
],
"multiCurrency": {
"authCurrency": "EGP",
"authAmount": 123.00,
"settleCurrency": "EGP",
"settleAmount": 123.00,
"exchangeRate": null,
"exchangeFeePercentage": null,
"exchangeFeeAmount": null
},
"isTest": true,
"cashOnDelivery": false,
"amountToCollect": null,
"isDownPayment": false,
"exchangeRate": null,
"exchangeFeePercentage": null,
"exchangeFeeAmount": null,
"deviceId": "14b90417-2522-4479-4b5b-08da6a10e762",
"gatewayDecision": "ContinueToPayer",
"subscriptionId": null,
"subscriptionOccurrenceId": null,
"refundType": null,
"refundStatus": null,
"bankId": null,
"isPayWithToken": false,
"customerName": null,
"customerEmail": null,
"createCustomer": false,
"customerReferenceId": null,
"customerId": null,
"customerPhoneNumber": null,
"customerPhoneCountryCode": null,
"customerCustomValue": null,
"airLine": null,
"geideaCodePRN": null,
"geideaCodeExpiryDate": null,
"createdDate": "2024-05-10T12:41:24.9359474",
"createdBy": "MeezaIntegrationApi",
"updatedDate": "2024-05-10T12:41:24.9359474",
"updatedBy": null
},
"paymentProviderSetting": null,
"tokenCryptogram": null,
"responseCode": "000",
"detailedResponseCode": "000"
}
Payment notification API
You can use this API to trigger a payment notification to your customers after a payment has been successful. The API initiates a mail to the customer.
To initiate a mail to the customer, you will need to provide the following required field.
Parameter | Datatype | Description | Mandatory |
---|---|---|---|
orderID | String | Unique ID associated with the Order. Must be a valid UUID | Yes |
Below is an example of executing a Payment notification API call for a payment with the mandatory parameters.
API Request
{
"orderId": "72bde1e7-22cf-42d4-3bc4-08dc69da0e58"
}
API Response
A 200 code will be returned with no body. This indicates that the notification has been sent.
Updated 6 months ago