Recurring - Merchant Initiated
Merchant Initiated Recurring Payments
Merchant-Initiated Transactions (MITs) refer to recurring payments that are authorized through an agreement between you, the merchant, and the cardholder. Once this agreement is established, you have the ability to initiate future payments from the card without requiring direct involvement from the cardholder. It's important to note that since the cardholder is not physically present during an MIT, cardholder authentication is not conducted.
MITs are always associated with a customer who has made a payment previously and consented to save their card details securely. To ensure utmost security, it is crucial that the initial payment is processed using 3DS (strong customer authentication).
By leveraging MITs and implementing necessary security measures, you can streamline recurring payments for your customers, providing a convenient and seamless payment experience.
Merchant-Initiated Transaction Examples
Merchant-Initiated Transactions (MITs) encompass a wide range of payment scenarios beyond just subscriptions. They offer various benefits to merchants in different situations, which include:
-
Prepayments: In this scenario, a tenant authorizes their landlord to deduct rent payments in advance at regular intervals from their account. This ensures timely and hassle-free rental payments.
-
Installments: Installment plans are commonly used by customers who prefer "buy now, pay later" services. It allows them to make expensive purchases and pay off the balance in fixed amount payments over a specified period, offering flexibility and affordability.
-
Reauthorization: This refers to making additional purchases after completing the initial agreed-upon amount or time. For example, it could involve split or delayed shipments, extended car rentals, or prolonged hotel stays. This feature enables customers to seamlessly continue their transactions without the need for additional authorization steps.
By leveraging the flexibility of MITs in these different scenarios, merchants can provide enhanced convenience and options to their customers, facilitating smooth and tailored payment experiences.
Flow of Merchant-Initiated Recurring Payments
When initializing the Hosted Payment Page and creating the SessionID, ensure that the "cardOnFile" parameter is set to true. Additionally, the merchant has to include the "agreementID" and "agreementType" in the request. This ensures that the initial payment is processed with strong customer authentication using 3DS and should result in a successful transaction. Also, for executing a MIT, the agreementID and agreementType parameters determine the kind of tokenized transaction.
Upon successful completion of the initial payment, you will receive a tokenldthrough the order callback URL.
The generation of the tokenld indicates that Geidea Gateway has securely stored the card details for future use, enabling you to make Merchant-Initiatedpayments conveniently.
To initiate a Session Creation API call for token creation you will need to provide the following fields. These are mandatory parameters to execute a MIT.
Parameter | Description |
---|---|
amount | The total amount value of the payment. This parameter is required, and the format is a double - a number with 2 digits after the decimal point. For example 19.99 |
currency | The currency of the payment. This is a 3-digit alphabetic code, following the ISO 4217 currency code standard. For example: EGP List of available currencies: EGP Egyptian PoundTo enable multicurrency for your account - contact our support team. |
cardOnFile | true |
cofAgreement | The "cofAgreement" object includes the ID and type of the card-on-file (COF) agreement for storing customer card information. The agreementID , agreementType , and tokenId received after executing the 'Create session' request are required to execute a MIT. |
Id | This string value represents the unique identifier of the card-on-file agreement, which must be agreed upon between the merchant and the payment gateway. Using a unique value for each agreement is recommended to prevent confusion or conflicts. |
Type | This string value represents the type of card-on-file agreement to use. The available types include RECURRING and UNSCHEDULED , and they determine how the customer's card information is stored and processed. |
Below is an example of creating a session for payment of 10.00 EGP with tokenization parameters.
curl --location 'https://api.merchant.geidea.net/payment-intent/api/v1/direct/session' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YTA4N2Y0Y2EtOTg5MC00MDdiLTljMmYtNzYzMDgzNmNjMDIwOmE2ODk5NTU3LTRjYjMtNDFhYi05ZGYzLWE2NTQwYjIzYWI2MA==' \
--data '{
"amount": 10,
"currency": "EGP",
"callbackUrl": "https://webhook.site/49bda391-8158-4bdc-a72b-ecd5607c7ad1",
"language": "en",
"merchantReferenceId": "test-site-5827a75dc9764568ac02457b1bd7b6",
"cardOnFile": true,
"cofAgreement": {
"id": "123456789",
"type": "UNSCHEDULED"
}
}'
<?php
$client = new Client();
$headers = [
'Content-Type' => 'application/json',
'Authorization' => 'Basic YTA4N2Y0Y2EtOTg5MC00MDdiLTljMmYtNzYzMDgzNmNjMDIwOmE2ODk5NTU3LTRjYjMtNDFhYi05ZGYzLWE2NTQwYjIzYWI2MA=='
];
$body = '{
"amount": 101,
"currency": "SAR",
"callbackUrl": "https://webhook.site/49bda391-8158-4bdc-a72b-ecd5607c7ad1",
"language": "en",
"merchantReferenceId": "test-site-5827a75dc9764568ac02457b1bd7b6",
"cardOnFile": true,
"cofAgreement": {
"id": "11222",
"type": "UNSCHEDULED"
}
}';
$request = new Request('POST', 'https://api.merchant.geidea.net/payment-intent/api/v1/direct/session', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
Below is an example of a successful response you can expect to receive for the request above.
{
"session": {
"id": "9c52785f-f092-4977-7816-08db602e2587",
"amount": 10,
"currency": "EGP",
"callbackUrl": "https://webhook.site/b64f56f2-9423-4368-9aa3-e2de7f7bae33",
"returnUrl": "https://someurl.com",
"expiryDate": "2023-05-31T21:17:00.8733674Z",
"status": "Initiated",
"merchantId": "6876f6bc-f8eb-4253-f160-08d973705ffb",
"merchantPublicKey": "6620c3e2-5088-41a8-8be6-98c003153932",
},
"responseMessage": "Success",
"detailedResponseMessage": "The operation was successful",
"language": "EN",
"responseCode": "000",
"detailedResponseCode": "000"
}
When the transaction is approved if the "cardOnFile: True" parameter is included in the request, the merchant will receive a Token ID in the response. This Token ID can be used by the merchant for Merchant-Initiated Recurring Payments.
Refer to the following instructions when the "detailedStatus" is "Paid." Upon receiving this status, you will obtain the tokenID in the response. You can store this token for future reference.
{
"order": {
"orderId": "9e238617-1ae9-469f-02f7-08db602e5619",
"amount": 101,
"tipAmount": 0,
"convenienceFeeAmount": 0,
"totalAmount": 101,
"settleAmount": 101,
"currency": "SAR",
"settleCurrency": "SAR",
"language": "en",
"detailedStatus": "Paid",
"status": "Success",
"threeDSecureId": "98905134-842c-4428-ca9f-08db602e564c",
"merchantId": "e80ece7e-fb2a-4c0b-de94-08d8a29a107b",
"merchantPublicKey": "a087f4ca-9890-407b-9c2f-7630836cc020",
"parentOrderId": null,
"merchantReferenceId": "test-site-5827a75dc9764568ac02457b1bd7b6",
"mcc": null,
"callbackUrl": "https://webhook.site/cd1f0358-4088-4d75-866e-5e5eba5e45fd",
"customerEmail": null,
"billingAddress": {
"countryCode": null,
"street": null,
"city": null,
"postCode": null
},
"shippingAddress": {
"countryCode": null,
"street": null,
"city": null,
"postCode": null
},
"returnUrl": null,
"cardOnFile": true,
"tokenId": "4c003fc3-7176-4f0a-6463-08db7cd2152f",
"initiatedBy": "Internet",
"agreementId"123456789,
"agreementType": Unscheduled,
"paymentOperation": "Pay",
"custom": null,
"paymentIntent": null,
"restrictPaymentMethods": false,
"paymentMethods": null,
"platform": null,
"statementDescriptor": null,
"description": null,
"createCustomer": false,
"setDefaultPaymentMethod": false,
"customerReferenceId": null,
"customerId": null,
"recurrence": null,
"transactions": [
{
"transactionId": "98905134-842c-4428-ca9f-08db602e564c",
"type": "Authentication",
"status": "Success",
"amount": 101,
"currency": "SAR",
"source": "HPP",
"authorizationCode": null,
"rrn": null,
"stan": "0",
"paymentMethod": {
"type": "Card",
"brand": "visa",
"cardholderName": "test",
"maskedCardNumber": "444000******0010",
"wallet": null,
"expiryDate": {
"month": 1,
"year": 39
},
"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": {
"acsEci": "05",
"authenticationToken": "kHyn+7YFi1EUAREAAAAvNUe6Hv8=",
"paResStatus": null,
"veResEnrolled": null,
"xid": "d5f94ec9-f30d-404d-9fb4-d909cc1dac32",
"accountAuthenticationValue": null,
"proofXml": null,
"threeDSecureServerTransactionId": null,
"acsTransactionId": "b806095e-1a86-45cc-bf66-720658b3e003",
"directoryServerId": "A999999999",
"dsTransactionId": "d5f94ec9-f30d-404d-9fb4-d909cc1dac32",
"methodCompleted": false,
"methodSupported": "NOT_SUPPORTED",
"protocolVersion": "2.1.0",
"requestorId": "10065253*MTTEST999999111_MPGS",
"requestorName": "KSA ECR",
"transactionStatus": "Y",
"statusReasonCode": null
},
"postilionDetails": null,
"terminalDetails": null,
"meezaDetails": null,
"bnplDetails": null,
"bankInstallmentDetails": null,
"correlationId": "30178b00-d9ef-418f-af97-674e16bc2ce2",
"parentTransactionId": null,
"paymentAttemptId": "194d374d-a264-44f0-98de-617bfb93b7d9",
"acquirer": {
"additionalResponseData": null,
"batch": null,
"customData": null,
"date": null,
"id": null,
"merchantId": "3000000023",
"settlementDate": null,
"time": null,
"timeZone": null,
"transactionId": null
},
"authorizationResponse": {
"autoExpiry": null,
"avsCode": null,
"cardLevelIndicator": null,
"cardSecurityCodeError": null,
"cardSecurityCodePresenceIndicator": null,
"commercialCard": null,
"commercialCardIndicator": null,
"financialNetworkCode": null,
"financialNetworkDate": null,
"marketSpecificData": null,
"merchantAdviceCode": null,
"paySvcData": null,
"posData": null,
"posEntryMode": null,
"posEntryModeChanged": null,
"processingCode": null,
"responseCode": null,
"date": null,
"responseMessage": null,
"returnAci": null,
"time": null,
"timeZone": null,
"trackQuality": null,
"transactionIdentifier": null,
"transactionIntegrityClass": null,
"validationCode": null,
"vpasResponse": null
},
"madaDetails": null,
"createdDate": "2023-05-31T05:26:46.544697",
"createdBy": "PGW",
"updatedDate": "2023-05-31T05:26:55.8477674",
"updatedBy": "PGW"
},
{
"transactionId": "96451299-d3a3-4717-7d64-08db602e760a",
"type": "Pay",
"status": "Success",
"amount": 101,
"currency": "SAR",
"source": "HPP",
"authorizationCode": "100086",
"rrn": "315105100086",
"stan": "100086",
"paymentMethod": {
"type": "Card",
"brand": "visa",
"cardholderName": "test",
"maskedCardNumber": "444000******0010",
"wallet": null,
"expiryDate": {
"month": 1,
"year": 39
},
"sameBank": false,
"issuingCountry": null,
"fundingType": null,
"issuingBank": null,
"cardCategory": null
},
"codes": {
"acquirerCode": "00",
"acquirerMessage": "Approved",
"responseCode": "000",
"responseMessage": "Success",
"detailedResponseCode": "000",
"detailedResponseMessage": "The operation was successful"
},
"authenticationDetails": null,
"postilionDetails": null,
"terminalDetails": null,
"meezaDetails": null,
"bnplDetails": null,
"bankInstallmentDetails": null,
"correlationId": "3268673d-f8a6-4163-8d89-c6ebb935f5d6",
"parentTransactionId": null,
"paymentAttemptId": "194d374d-a264-44f0-98de-617bfb93b7d9",
"acquirer": {
"additionalResponseData": null,
"batch": 20230531,
"customData": null,
"date": "0531",
"id": "RIYADBANK_S2I",
"merchantId": "3000000023",
"settlementDate": "2023-05-31T00:00:00",
"time": null,
"timeZone": "+0300",
"transactionId": "123456789012345"
},
"authorizationResponse": {
"autoExpiry": null,
"avsCode": null,
"cardLevelIndicator": "88",
"cardSecurityCodeError": null,
"cardSecurityCodePresenceIndicator": null,
"commercialCard": "888",
"commercialCardIndicator": "3",
"financialNetworkCode": null,
"financialNetworkDate": null,
"marketSpecificData": "8",
"merchantAdviceCode": null,
"paySvcData": null,
"posData": "1025100006600",
"posEntryMode": "812",
"posEntryModeChanged": null,
"processingCode": "003000",
"responseCode": "00",
"date": null,
"responseMessage": null,
"returnAci": "8",
"time": null,
"timeZone": null,
"trackQuality": null,
"transactionIdentifier": "123456789012345",
"transactionIntegrityClass": null,
"validationCode": "6789",
"vpasResponse": null
},
"madaDetails": null,
"createdDate": "2023-05-31T05:26:56.7291029",
"createdBy": "PGW",
"updatedDate": "2023-05-31T05:26:59.9908664Z",
"updatedBy": "PGW"
}
],
"orderItems": [],
"isTokenPayment": false,
"paymentMethod": {
"type": "Card",
"brand": "visa",
"cardholderName": "test",
"maskedCardNumber": "444000******0010",
"wallet": null,
"expiryDate": {
"month": 1,
"year": 39
},
"sameBank": false,
"issuingCountry": null,
"fundingType": null,
"issuingBank": null,
"cardCategory": null
},
"totalAuthorizedAmount": 101,
"totalCapturedAmount": 101,
"totalRefundedAmount": 0,
"orderSource": "GeideaGateway",
"paymentBrands": [
"visa"
],
"multiCurrency": {
"authCurrency": "SAR",
"authAmount": 101,
"settleCurrency": "SAR",
"settleAmount": 101,
"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": "ContinueToPay",
"subscriptionId": null,
"subscriptionOccurrenceId": null,
"customerPhoneNumber": null,
"customerPhoneCountryCode": null,
"createdDate": "2023-05-31T05:26:46.544697",
"createdBy": "PGW",
"updatedDate": "2023-05-31T05:26:50.8563999",
"updatedBy": "PGW"
},
"signature": "C3sjR0O+mcrORORMU4s/MgrvxgJW/2wmROWdoVAQosI="
}
MIT Transaction
Below is the list of all fields and an example of executing an MIT transaction for payment of 101.00 EGP with the token generated previously. We can carry out an unscheduled payment or set up a recurring payment for a defined frequency.
Parameter | Datatype | Description | Mandatory |
---|---|---|---|
amount | string | The total amount for the transaction. Amount must be greater than 0.01. Must not have more than 2 digits after the decimal point. | Yes |
currency | string | The currency of the payment. This is a 3-digit alphabetic code, following the ISO 4217 currency code standard. | Yes |
tokenId | string | If you have a previously saved token which was generated by Geidea payment gateway, you can submit it using this parameter. This will lead the customer through a shortened payment flow, where they don't have to re-enter their card number - Geidea will use the card on file associated with this token. | Yes |
initiatedBy | string | Channel through which the transaction has been initiated. Must be set to 'Merchant' for Merchant Initiated Transactions. | Yes |
agreementId | string | This is a string value that represents the unique identifier of the card-on-file agreement to use. This ID must be agreed upon between the merchant and the payment gateway before the COF service can be used. It is recommended to use a unique value for each card-on-file agreement to avoid confusion or conflicts. | Yes |
agreementType | string | This is a string value that represents the type of card-on-file agreement to use. There are different types of card-on-file agreements available, and the type of agreement used can affect how the customer's card information is stored and processed. The currently supported values are RECURRING and UNSCHEDULED. | Yes |
payWithToken | boolean | Flag used to indicate to pay with token | No |
callbackUrl | string | The URL where the payment gateway should send the callback after the transaction is completed. It must have a valid SSL certificate and start with 'https://' | No |
merchantReferenceId | string | A unique merchant identifier for the order. You can send your own reference ID using this field. | No |
isCreateCustomerEnabled | boolean | If this is set to true, a customer account is created on Geidea platform. This must be set to false, when customer ID is not null. When this is set to true, customerId must not be passed. | No |
isSetPaymentMethodEnabled | boolean | If this is set to true, then the customer is allowed to use the payment gateway | No |
paymentOperation | string | The type of payment operation to be performed. This is an optional parameter - if not submitted, the Geidea gateway will process a 'Pay' operation by default. | No |
curl --location 'https://api.merchant.geidea.net/pgw/api/v1/direct/pay/token' \
--header 'accept: text/plain' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YTA4N2Y0Y2EtOTg5MC00MDdiLTljMmYtNzYzMDgzNmNjMDIwOmE2ODk5NTU3LTRjYjMtNDFhYi05ZGYzLWE2NTQwYjIzYWI2MA==' \
--data '{
"amount": 101,
"payWithToken": true,
"currency": "EGP",
"callbackUrl": "https://webhook.site/49bda391-8158-4bdc-a72b-ecd5607c7ad1",
"tokenId": "03ce28f7-5a53-46d8-822e-08db663a4c5b",
"merchantReferenceId": "MerchantReferenceId",
"isCreateCustomerEnabled": false,
"isSetPaymentMethodEnabled": false,
"paymentOperation": "pay",
"initiatedBy": "Merchant",
"agreementId": "123456789",
"agreementType": "Unscheduled"
}'
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.merchant.geidea.net/pgw/api/v1/direct/pay/token',
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 =>'{
"amount": 101,
"payWithToken": true,
"currency": "SAR",
"callbackUrl": "https://webhook.site/49bda391-8158-4bdc-a72b-ecd5607c7ad1",
"tokenId": "03ce28f7-5a53-46d8-822e-08db663a4c5b",
"merchantReferenceId": "MerchantReferenceId",
"isCreateCustomerEnabled": false,
"isSetPaymentMethodEnabled": false,
"paymentOperation": "pay",
"initiatedBy": "Merchant",
"agreementId": "123456789",
"agreementType": "Unscheduled"
}',
CURLOPT_HTTPHEADER => array(
'accept: text/plain',
'Content-Type: application/json',
'Authorization: Basic YTA4N2Y0Y2EtOTg5MC00MDdiLTljMmYtNzYzMDgzNmNjMDIwOmE2ODk5NTU3LTRjYjMtNDFhYi05ZGYzLWE2NTQwYjIzYWI2MA=='
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Find below the response after executing the MIT payment:
{
"order": {
"orderId": "f8ca8309-0b5a-4d74-eafc-08db7dff6bb6",
"amount": 101,
"tipAmount": 0,
"convenienceFeeAmount": 0,
"totalAmount": 101,
"settleAmount": 101,
"currency": "EGP",
"settleCurrency": "EGP",
"language": "EN",
"detailedStatus": "Paid",
"status": "Success",
"threeDSecureId": null,
"merchantId": "21f3eeab-c3d3-4128-4350-08dad18797e2",
"merchantPublicKey": "665fae4b-5108-45de-9b86-a2c30a867d08",
"parentOrderId": "36f8dbba-9d3e-429c-eaeb-08db7dff6bb6",
"merchantReferenceId": "MerchantReferenceId",
"mcc": null,
"callbackUrl": "https://webhook.site/a2159a6d-52be-4352-b45d-a3d54e196fdd",
"customerEmail": null,
"billingAddress": null,
"shippingAddress": null,
"returnUrl": null,
"cardOnFile": false,
"tokenId": "4c003fc3-7176-4f0a-6463-08db7cd2152f",
"initiatedBy": "Merchant",
"agreementId": "12232",
"agreementType": "Unscheduled",
"paymentOperation": "Pay",
"custom": null,
"paymentIntent": null,
"restrictPaymentMethods": false,
"paymentMethods": null,
"platform": null,
"statementDescriptor": null,
"description": null,
"createCustomer": false,
"setDefaultPaymentMethod": false,
"customerReferenceId": null,
"customerId": null,
"recurrence": null,
"transactions": [
{
"transactionId": "435adb5c-6a4d-4d72-e400-08db7dffae69",
"type": "Pay",
"status": "Success",
"amount": 101.00,
"currency": "EGP",
"source": "DirectAPI",
"authorizationCode": "177928",
"rrn": "213005177928",
"stan": "Stan",
"paymentMethod": {
"type": "Card",
"brand": "visa",
"cardholderName": "test",
"maskedCardNumber": "411111******1111",
"wallet": null,
"expiryDate": {
"month": 11,
"year": 24
},
"sameBank": false,
"issuingCountry": "USA",
"fundingType": "CREDIT",
"issuingBank": "JPMORGAN CHASE BANK, N.A.",
"cardCategory": ""
},
"codes": {
"acquirerCode": "00",
"acquirerMessage": "Approved",
"responseCode": "000",
"responseMessage": "Success",
"detailedResponseCode": "000",
"detailedResponseMessage": "The operation was successful"
},
"authenticationDetails": null,
"postilionDetails": null,
"terminalDetails": null,
"meezaDetails": null,
"bnplDetails": null,
"bankInstallmentDetails": null,
"correlationId": "e86c19a8-a6e3-4175-81f3-13ccffc415d8",
"parentTransactionId": null,
"paymentAttemptId": "474b503e-8240-41fb-a995-517ef34eb4f9",
"acquirer": {
"additionalResponseData": "AdditionalResponseData",
"batch": 145,
"customData": "CustomData",
"date": "0709",
"id": "Id",
"merchantId": "MerchantId",
"settlementDate": "2023-07-09T00:00:00",
"time": "Time",
"timeZone": "TimeZone",
"transactionId": "TransactionId"
},
"authorizationResponse": {
"autoExpiry": "2023-07-09T13:21:22.8627248Z",
"avsCode": "AvsCode",
"cardLevelIndicator": "CardLevelIndicator",
"cardSecurityCodeError": "6",
"cardSecurityCodePresenceIndicator": "CardSecurityCodePresenceIndicator",
"commercialCard": "CommercialCard",
"commercialCardIndicator": "d",
"financialNetworkCode": "FinancialNetworkCode",
"financialNetworkDate": "2023-07-06T13:21:22.8627254Z",
"marketSpecificData": "M",
"merchantAdviceCode": "MerchantAdviceCode",
"paySvcData": "PaySvcData",
"posData": "PosData",
"posEntryMode": "PosEntryMode",
"posEntryModeChanged": "d",
"processingCode": "ProcessingCode",
"responseCode": "ResponseCode",
"date": "0706",
"responseMessage": "ResponseMessage",
"returnAci": "R",
"time": "132122",
"timeZone": "TimeZone",
"trackQuality": "TrackQuality",
"transactionIdentifier": "TransactionIdentifier",
"transactionIntegrityClass": "TransactionIntegrityClass",
"validationCode": "ValidationCode",
"vpasResponse": "c"
},
"madaDetails": null,
"refundType": null,
"refundStatus": null,
"createdDate": "2023-07-06T13:21:22.7659511",
"createdBy": "PGW",
"updatedDate": "2023-07-06T13:21:22.9193671Z",
"updatedBy": "PGW"
}
],
"orderItems": [],
"isTokenPayment": true,
"paymentMethod": {
"type": "Card",
"brand": "visa",
"cardholderName": "test",
"maskedCardNumber": "411111******1111",
"wallet": null,
"expiryDate": {
"month": 11,
"year": 24
},
"sameBank": false,
"issuingCountry": "USA",
"fundingType": "CREDIT",
"issuingBank": "JPMORGAN CHASE BANK, N.A.",
"cardCategory": ""
},
"totalAuthorizedAmount": 101.00,
"totalCapturedAmount": 101.00,
"totalRefundedAmount": 0,
"orderSource": "GeideaGateway",
"paymentBrands": [
"visa"
],
"multiCurrency": {
"authCurrency": "EGP",
"authAmount": 101,
"settleCurrency": "EGP",
"settleAmount": 101,
"exchangeRate": null,
"exchangeFeePercentage": null,
"exchangeFeeAmount": null
},
"isTest": true,
"cashOnDelivery": false,
"amountToCollect": null,
"isDownPayment": false,
"exchangeRate": null,
"exchangeFeePercentage": null,
"exchangeFeeAmount": null,
"deviceId": null,
"gatewayDecision": "ContinueToPayer",
"subscriptionId": null,
"subscriptionOccurrenceId": null,
"customerPhoneNumber": null,
"customerPhoneCountryCode": null,
"refundType": null,
"refundStatus": null,
"bankId": null,
"isPayWithToken": true,
"createdDate": "2023-07-06T13:21:22.7138101Z",
"createdBy": "PGW",
"updatedDate": "2023-07-06T13:21:22.7138101Z",
"updatedBy": null
},
"responseMessage": "Success",
"detailedResponseMessage": "The operation was successful",
"language": "EN",
"responseCode": "000",
"detailedResponseCode": "000"
}
User Flow
Updated about 1 month ago