The smarter way
  • Getting Started
  • USER GUIDE
    • Payment Gateway
    • Currencies
    • Apple Pay
      • Setup MPGS
      • Setup Cybersource
    • Payment Tracking
      • Payment Transactions Insights
      • Payment Transactions States
      • Notifications, URLs & Timing
    • Plugins
      • Payment Request
      • E-Commerce
      • Bulk payment request
    • Features
      • Refund & Void Access Control
      • Two-Step Refund & Void Authorization
    • Integration
    • Configuration
      • Global Configuration
      • Webhooks Configuration
      • Transaction Report Configuration
      • How to Get API Keys
      • URL Shortener Configuration
    • Notification Communication Channels
      • Email Notifications
      • SMS Notifications
      • WhatsApp Notifications
        • Integrated WhatsApp Channel
        • Manual WhatsApp Channel
      • Notification Templates
      • Notification Process: Automatic and Manual
    • Satellite
    • Real Estate
      • Regular Activities
        • Property management
        • Tenant and Contract Management
          • Tenant & Contract Dashboard
          • Tenant Management
          • Contract Management
            • Add New Contract
            • Contract Action
              • Renew Contract
              • Terminate Contract
              • Manual Payment
              • Suspend Contract
              • Resume Contract
              • Advance Payment
        • Generate Invoice
        • Invoices Management
        • Maintenance
        • Transactions
        • Auditing and Rolling Back Activities
      • Merchant First Journey
  • developer
    • Getting Started
    • Tokenization
    • Authentication
    • Payment Methods
    • Checkout API
    • Operations
    • User Cards
    • Payment Status-Inquiry
    • Auto-Debit
    • Invoice API
    • Message Notifications
    • Upload Attachment
    • Checkout SDK
      • Web
      • iOS
      • Android
      • Flutter
    • Webhooks
      • Payment Notification
      • Operation Notification
      • Signing Mechanism
      • Integration Guides
        • Laravel Webhook Receiver Guide
        • .NET Webhook Receiver Guide
    • Test Cards
Powered by GitBook
On this page
  • Setup
  • Params
  • Event Types
  • Redirectional Diagram
  • Payload example (paid)
  • Acknowledging a Payment
  1. developer
  2. Webhooks

Payment Notification

PreviousWebhooksNextOperation Notification

Last updated 3 months ago

Payment webhooks are specific to payment events and are triggered on multiple occasions:

  1. Post-Payment Completion

    Once a payer has completed the payment process and awaits redirection. To get notified for this event, the must either be sent via the when the payment transaction is created or set as the default in the Ottu dashboard to apply for all transactions.

  2. Automatic Inquiry by Ottu

    If a payment transaction has an associated , it can be notified during the automatic inquiry process. This can happen immediately after the payer completes the payment process or later if the payment encounters an error. More details about the timings for automatic inquiry can be found .

  3. Manual Inquiry by Staff

    When a staff member initiates a manual inquiry from the Ottu dashboard.

  4. Manual Notification by Staff

    When a staff manually triggers a notification to the from the Ottu dashboard.

  5. Merchant-Initiated Inquiry

    When an call is initiated by the merchant. Optionally, a notification can be sent to the associated with the payment transaction or to a new one specified during the inquiry API call.

  1. Configuring URLs:

  • Via Checkout API: Provide the and an optional when calling the .

  • Using Plugin Config: Set the webhook_url and redirect_url globally via the plugin config, applicable to either or t plugins. Even if these values are set globally, they can be overridden for specific transactions when using the Checkout API. For more details on this configuration, click .

  1. Redirecting the Payer:

  • Successful Redirect: If you aim for the payer to be redirected back to your website post-payment, your endpoint should return an HTTP status of 200. Any other status will keep the payer on the Ottu payment details page.

  • Retaining on Ottu Page: If you intentionally want the payer to remain on the Ottu page post-payment, return a status code of 201. Ottu will interpret this as a successful notification, and the payer won’t be redirected. Any other status will be deemed as a failed notification by Ottu.

A pre-established contractual agreement with the customer making the payment, allowing the merchant to securely retain and later use their payment details for particular purposes. This might include agreements like regular payments for services such as mobile subscriptions, payments in installments for purchases, arrangements for one-time charges like account reloads, or adhering to common industry practices such as penalty fees for missed appointments

Presence Condition:

agreement child parameters

A unique identifier for the agreement

Presents if the payment amount can vary with each transaction.

Agreement starting date.

The final date until which the agreement remains valid.

The maximum debit amount for one billing cycle.

The number of days between each recurring payment.

The total number of payment cycles within the agreement duration.

Represents how often the payment is to be processed.

This is event-driven, with "recurring" as an example.

Seller information data including:

  • "name": "string",

  • "short_name": "string",

  • "category_code": "string"

Provides additional information for payment processing. It includes the parameter "payment_processing_day" which provide information about the day of the month or a specific date when payment processing should occur, offering more control over the timing of payments.

The merchant should always check if the received amount from Ottu side is the amount of the order, to avoid user changing the cart amount in between.

Payment transaction due amount details

amount_details child parameters

Represents the total amount of the payment transaction, which includes the cost of the purchased items or services but excludes any additional fees or charges.

It indicates the sum disbursed by the customer in their chosen currency for the payment. Note, this currency could vary from the currency used for the transaction.

By enabling this, you will ask for user's address. If enabled, capture delivery coordinates should also be active.

Presence Condition:

  • The merchant should add it when setting up the payment transaction.

By enabling this, you will ask for user's delivery location on a map.

Presence Condition:

  • The merchant should provide it during the creation of the transaction.

Presence condition:

card_acceptance_criteria child parameters

Specifies the minimum required validity period, in days, for a card to be eligible for payment. If set to 30 days, for example, cards set to expire within the next month would be declined. This ensures short-lived cards nearing their expiration date are filtered out, reducing chances of payment failures. When implementing, balance merchant's operational needs with customer convenience. Setting it too stringent might increase payment declines, while a lenient approach could risk future payment failures.

Additionally, it defaults to 30 days when the payment_type is auto_debit. If any other payment type is selected, no default value is set.

Billing address information

Customer billing address data

Presence Condition:

  • The presence of each parameter is contingent on the provision of any selection of "customer billing address data" parameters during payment transaction creation.

The city where the customer is living and registered Max length: 40

The country where the customer is living and registered Based on ISO 3166-1 Alpha-2 code Validation will be performed against existing countries Max length: 2

Customer's street & house data Max length: 255

Postal code. Max length 12 (it may have different length for different countries)

Where to pass the customer’s email address Have to be a valid email address Max length 128

Presence Condition:

  • It needs to be included when generating the payment transaction.

For the customer's first name Max length 64

Presence Condition:

  • The merchant should include it while making the payment of the transaction.

Customer ID is created by a merchant, and stored in the merchant database Max length 64

Presence Condition:

  • The merchant should include it during initiating the payment transaction.

For the customer's last name Max length 64

Presence Condition:

  • The merchant should include it while making the payment of the transaction.

Where to pass the customer’s phone number Max length 32

Presence Condition:

  • The merchant should include it when processing the payment for the transaction.

The extra information for the payment details, which the merchant has sent it in key value form.

Presence Condition:

  • The presence of the element will depend on whether the merchant includes it during transaction creation by adding each element from the plugin field configuration.

For example:

   "extra":{
      "flight-number":"43667",
      "full_name":"abc"
   },

It represents a markup amount on the original amount. Max length: 24 Min value: 0.01

Presence Condition:

It will contain the raw payment gateway response sent by the payment gateway to Ottu.

Presence Condition:

  • It will only be present in response to the PG's callback request for the transaction.

This object contains information about the user who created the transaction from Ottu side, specifically, the user who generated the payment URL

Presence Condition:

  • Merchant includes the initiator ID in the payload when creating the transaction.

initiator child parameters

It represents the unique identifier of the user who performs the operation.

It represents the first name of the user who performs the operation. <= 32 characters

It represents the last name of the user who performs the operation. <= 32 characters

It represents the username of the user who performs the operation. Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.

The email address of the user who performs the operation. <= 254 characters

It represents the phone number of the user who performs the operation. <= 128 characters

Whether the transaction was carried out in a sandbox environment.

Presence Conditions:

  • It will only be present when PG's setting configured as sandbox

Presence Condition:

  • It will only be present if a payment attempt records an error.

It is a specific code that is assigned to a transaction by the merchant. By assigning a unique identifier to each transaction, the merchant can easily retrieve and review transaction details in the future, as well as identify any issues or discrepancies that may arise. such like : ABC123_1, ABC123_2 Max length 128

Presence Condition:

  • It will be present only if order_no has been provided in the request payload.

It is the amount that is credited to the merchant's bank account Max length: 24 Min value: 0.01

Presence Condition:

  • It will only be present if a capture action is being processed on the transaction and the paid amount is recorded.

If auto_debit is selected:

Ottu simplifies payment integration by standardizing inconsistent callback payloads from various payment gateways. Since transaction details like IDs, status codes, amounts, and timestamps vary in structure and labeling, merchants face challenges in processing this data reliably. OTTU extracts the essential details from any gateway’s payload and converts them into a unified pg_paramsobject, ensuring a consistent format that simplifies transaction management and integration.

Each parameter in pg_params represents a specific transaction-related attribute, stored as an object containing:

  • value: The actual data returned by the payment gateway.

  • verbose_name_ar: The Arabic label for the parameter.

  • verbose_name_en: The English label for the parameter.

These labels (verbose_name_ar/en) can be used to dynamically display user-friendly field names in multilingual interfaces, ensuring clarity and accessibility for users in different languages.

pg_params child parameters

Authorization code assigned to the transaction.

Masked credit/debit card number used for the payment.

Type of card used (e.g., Visa, MasterCard).

Unique identifier assigned to the payment by the gateway.

Message from the payment gateway regarding the transaction status.

The date when the transaction was processed or recorded.

Reference ID used for transaction identification.

The final transaction status (e.g., Approved, Declined).

A tracking number for monitoring the transaction.

Unique identifier assigned to the transaction for reconciliation.

The name of the person to whom the card is issued.

The email address associated with the cardholder.

The month in which the payment card expires.

The year in which the payment card expires.

A combined field representing the card’s expiry month and year, typically formatted as MM/YY.

The financial institution or bank that issued the payment card.

A receipt number issued for the transaction, typically for reference purposes.

Another form of transaction identifier, possibly used for internal reference.

The final decision on the transaction, such as approved or rejected.

The amount in the payer’s currency under Dynamic Currency Conversion (DCC).

The currency used by the payer under Dynamic Currency Conversion (DCC).

The exchange rate applied when converting the transaction amount to the payer’s currency under DCC.

A unique reference number used to identify the transaction for retrieval or inquiries.

Example:

"pg_params:{
    "auth_code":{
        "value":"A1B2C3",
        "verbose_name_ar":"رمز التفويض",
        "verbose_name_en":"Auth Code"
    },
    "card_type":{
        "value":"MasterCard",
        "verbose_name_ar":"نوع البطاقة",
        "verbose_name_en":"Card Type"
    },
    "card_holder":{
        "value":"John Doe",
        "verbose_name_ar":"اسم حامل البطاقة",
        "verbose_name_en":"Card Holder"
    },
    "cardholder_email":{
        "value":"john.doe@example.com",
        "verbose_name_ar":"البريد الإلكتروني لحامل البطاقة",
        "verbose_name_en":"Cardholder Email"
    },
    "card_expiry_month":{
        "value":"02",
        "verbose_name_ar":"شهر انتهاء البطاقة",
        "verbose_name_en":"Card Expiry Month"
    },
    "card_expiry_year":{
        "value":"2026",
        "verbose_name_ar":"سنة انتهاء البطاقة",
        "verbose_name_en":"Card Expiry Year"
    },
    "full_card_expiry":{
        "value":"02/26",
        "verbose_name_ar":"تاريخ انتهاء البطاقة بالكامل",
        "verbose_name_en":"Full Card Expiry"
    },
    "card_number":{
        "value":"4111 **** **** 1234",
        "verbose_name_ar":"رقم البطاقة",
        "verbose_name_en":"Card Number"
    },
    "card_issuer":{
        "value":"ABC Bank",
        "verbose_name_ar":"جهة إصدار البطاقة",
        "verbose_name_en":"Card Issuer"
    },
    "ref":{
        "value":"REF-123456",
        "verbose_name_ar":"معرف المرجع",
        "verbose_name_en":"Reference ID"
    },
    "result":{
        "value":"Success",
        "verbose_name_ar":"النتيجة",
        "verbose_name_en":"Result"
    },
    "track_id":{
        "value":"TRK-98765",
        "verbose_name_ar":"رقم التتبع",
        "verbose_name_en":"Track ID"
    },
    "post_date":{
        "value":"2025-02-10",
        "verbose_name_ar":"تاريخ المعاملة",
        "verbose_name_en":"Post Date"
    },
    "transaction_id":{
        "value":"TXN-456789",
        "verbose_name_ar":"رقم العملية",
        "verbose_name_en":"Transaction ID"
    },
    "payment_id":{
        "value":"PAY-987654321",
        "verbose_name_ar":"رقم الدفع",
        "verbose_name_en":"Payment ID"
    },
    "pg_message":{
        "value":"Transaction Approved",
        "verbose_name_ar":"رسالة بوابة الدفع",
        "verbose_name_en":"PG Message"
    },
    "receipt_no":{
        "value":"RCPT-20250210-001",
        "verbose_name_ar":"رقم الإيصال",
        "verbose_name_en":"Receipt No"
    },
    "transaction_no":{
        "value":"TXNNO-987654",
        "verbose_name_ar":"رقم المعاملة",
        "verbose_name_en":"Transaction NO"
    },
    "decision":{
        "value":"Approved",
        "verbose_name_ar":"القرار",
        "verbose_name_en":"Decision"
    },
    "dcc_payer_amount":{
        "value":"100.00",
        "verbose_name_ar":"المبلغ بعملة الدافع (DCC)",
        "verbose_name_en":"DCC Payer Amount"
    },
    "dcc_payer_currency":{
        "value":"USD",
        "verbose_name_ar":"عملة الدافع (DCC)",
        "verbose_name_en":"DCC Payer Currency"
    },
    "dcc_payer_exchange_rate":{
        "value":"1.15",
        "verbose_name_ar":"سعر صرف الدافع (DCC)",
        "verbose_name_en":"DCC Payer Exchange Rate"
    },
    "rrn":{
        "value":"RRN-987654321",
        "verbose_name_ar":"رقم استرجاع المرجع",
        "verbose_name_en":"RRN - Retrieval Reference Number"
    }
}

It is a unique identifier for the payment attempt, which can be used as a tracking identifier Max length 128

The payment amount paid back from the merchant to the customer. Max length: 24 Min value: 0.01

Presence Condition:

  • It will only be present if a refund action is being processed on the transaction and the refunded amount is recorded.

Presence Condition:

  • It will only be sent if the editable amount option is turned on.

Is the amount with the same currency of the initiating amount,

  • For editable amount: It is the amount that the customer enters at the checkout page

  • For on-editable amount: The settled amount is the same value as the original payment amount

Presence Condition:

  • It will be present only if the transaction is paid, authorized or cod.

A cryptographic hash used to guarantee data integrity and authenticity during client-server exchanges. This hash ensures that the API payload has not been tampered with, and can only be verified by authorized parties.

It represents the timestamp at which Ottu processed the transaction. While this often corresponds to the payment time, it's important to note that it might not always be the case. Payments can be acknowledged at a later time, so this timestamp might not align precisely with the actual payment time..

The ID of the transaction log associated with the transaction. Max length 32-bit String (2^31 - 1)

Presence Condition:

  • It will be sent only if the transaction type is BULK as it's a bulk identifier.

Represents token details.

  • Presence Conditions:

When user pays with a tokenized card, Ottu will include the token details in the response

token child parameters

The card brand (e.g., Visa, Mastercard) associated with the card. Display this information for customer reference.

Define if provided card token can be used to initiate auto debit requests.

The unique identifier for the customer who owns the card Max length: 36

Specifies if the card requires the submission of a CVV for transactions. A card without CVV requirement can be used for auto-debit or recurring payments

The card's expiration month. Provide this information for transaction processing and validation. Max length: 2

The card's expiration year. Provide this information for transaction processing and validation. Max length: 2

A boolean field indicating whether the card has expired. Use this information to determine if the card is valid for transactions and to notify the customer if necessary.

Presence Conditions:

  • It will be sent only if operations processed on transaction and resulted child transaction records.

transaction child parameters

The amount of child transaction object represented in transactions Array Must be positive Max length: 24 Min value: 0.01

The code represents the used currency. 3 letters

The order_no of child transaction object represented in transactions Array

The unique session identifier of child transaction object represented in transactions Array

The state of a child transaction object represented in transactions Array

Presence Condition:

  • It will only appear if a void action is being performed on the transaction, and the voided amount is documented.

{
   "amount":"10.000",
   "amount_details":{
      "amount":"10.000",
      "currency_code":"KWD",
      "fee":"20.000",
      "total":"30.000"
   },
   "currency_code":"KWD",
   "customer_email":"example@example.com",
   "customer_first_name":"first_name_example",
   "customer_id":"Example",
   "customer_last_name":"last_name_example",
   "customer_phone":"1234567",
   "fee":"20.000 KWD",
   "gateway_account":"Credit-Card",
   "gateway_name":"Gateway_Example",
   "gateway_response":{
      "It will contain the raw pg response sent by the pg to Ottu"
   },
   "initiator":{
      "email":"initaitor@example.com",
      "first_name":"example",
      "id":35,
      "last_name":"",
      "phone":"",
      "username":"username_example"
   },
   "is_sandbox":true,
   "order_no":"Y3ODg",
   "paid_amount":"30.000",
   "payment_type":"one_off",
   "reference_number":"staging48G8SS",
   "result":"success",
   "session_id":"bb7fc280827c2f177a9690299cfefa4128dbbd60",
   "settled_amount":"10.000",
   "signature":"60bf40cf******",
   "state":"paid",
   "timestamp_utc":"2023-11-02 09:00:07"
}

When you receive a payment notification, it’s crucial to understand and acknowledge the payment’s status and details. Here’s how you can interpret the information:

1. Payment Events Types

There are several types of payment events you might encounter:

  • Payment: This indicates a direct payment transaction.

  • Authorization: This signifies a payment authorization, which might be captured later.

  • Cash (Offline): This represents an offline payment, often referred to as Cash on Delivery (COD).

2. Interpreting the result field

  • If the result is success, it means the payment was successful.

  • If the result is failure, it indicates an unsuccessful payment attempt.

  • For cash payments, the result field will be cod, indicating Cash on Delivery.

3. Understanding the operation Field

The operation field provides insight into the type of transaction:

  • If the operation is payment, it indicates a direct payment.

  • If the operation is authorization, it signifies a payment that’s been authorized but not yet captured.

4. Verifying the Amount

  • In most scenarios, cross-referencing with the amount field should suffice. But if there are discrepancies or if you’ve set up fees or currency conversions, it’s advisable to verify with amount_details.

5. Cash Payments

By understanding and interpreting these fields correctly, you can ensure accurate and timely acknowledgment of all your payments, be they online or offline.

Endpoint Requirements: Ensure your endpoint adheres to all the stipulations outlined in the Webhook Overview. To review the requirements, click .

Specific Redirects: If you have a particular URL to which you wish to redirect the payer after the payment process, ensure you specify the during the payment setup. Ottu will use this URL to navigate the payer back to your platform or any designated page post-payment.

object conditional

The merchant should include it when creating the payment transaction, typically provided during the setup within the initiation process. It becomes a mandatory requirement when the is specified as "auto_debit".

string conditional

string conditional

date conditional

date conditional

string conditional

integer conditional

integer conditional

string conditional

string conditional

object conditional

object conditional

In certain agreement types, the condition state becomes a required element. For further details on which parameters are mandatory for recurring agreements, please refer .

string mandatory

Denotes the total sum of the payment transaction, which encompasses the cost of the procured items or services, excluding any supplementary fees or charges. See

object mandatory

string mandatory

The specified currency represents the denomination of the transaction. Nevertheless, it doesn't necessarily mandate payment in this exact currency. Due to potential currency conversions or exchanges, the final charge may be in a different currency. See . 3 letters

string mandatory

string mandatory

Denotes the comprehensive total of the payment transaction, incorporating both the principal amount and any associated fees. (+)

string mandatory

bool conditional

bool conditional

object conditional

It outlines the rules for a card's payment eligibility See the request parameter for more information.

Any child parameter provided with the object in the request payload will be populated in the response as child parameter.

string optional

string mandatory

The currency code of the payment transaction For more details, 3 letters code

string conditional

string conditional

string conditional

string conditional

Additional data for accuracy purpose for Max length: 255

string conditional

string conditional

State of the customer’s (sometimes the same as the ) Max length 40

string conditional

string conditional

string conditional

string conditional

string conditional

object conditional

string conditional

The merchant should add it in the and include it during the transaction creation.

string mandatory

The of the payment gateway used to proceed the payment Max length 16

string mandatory

The name of the used to proceed the payment Max length 64

object conditional

object conditional

It is present only when is used, because is not associated with any user.

integer mandatory

string optional

string optional

string mandatory

string mandatory

string optional

bool conditional

string conditional

A message indicating the cause of a failure., which is directly related to the payment attempt itself Max length 255.

string conditional

string conditional

string mandatory

Enum: "one_off" , "auto_debit" Type of payment. Choose one_off for payments that occur only once without future commitments. Choose auto_debit for payments that are automatically deducted, such as recurring subscriptions, installments, or unscheduled auto-debits. for more information about auto-debit API, please refer to .

and parameters will also be mandatory.

Only PG codes supporting can be selected. As a side effect, the card used for the payment will be associated with the supplied agreement.id. This card will be locked, preventing the customer from deleting it from the system until an alternate card is chosen for auto-debit payments

object mandatory

string mandatory

string conditional

string conditional

The amount remaining to be paid in the transaction. ( – ) Max length: 24 Min value: 0.01

string mandatory

Could be "success", "pending", "failed", "canceled", "error", and "cod". See . Max length 50

string mandatory

Ottu unique identifier which gets generated when the transaction is created. It can be used to perform subsequent operations, like . Max length 128

string conditional

string mandatory

string datetime mandatory

string mandatory

It is one of the . And could one of the below: created, pending, attempted, authorized, paid, failed, canceled, expired, invalided, or cod. Max length 50

string conditional

object conditional

string mandatory

string mandatory

string mandatory

bool mandatory

string mandatory

string mandatory

bool mandatory

array conditional

Transactions resulted to the PG operations performed on the parent transaction See

string conditional

string conditional

stringconditional

stringconditional

string conditional

string conditional

The payment amount resulted by performing operation Max length: 24 Min value: 0.01

Ottu notifies the for all payment event types, not just success. This includes statuses like error, failed, pending, rejected, etc. The payload provides enough context to identify the status of the event.

Events like Refund, Void, or Capture are considered operation events and not payment events. If you’re looking for information on these, please refer to the .

To ensure a smooth redirection of the payer back to the designated , it is essential that the redirect_url is accurately provided during the payment setup. Additionally, the must respond with a status code of 200. This specific status code serves as a confirmation of successful interaction between the involved systems, ultimately guaranteeing the seamless progression of the redirection process as originally intended.

Redirect behavior based on webhook_url response: - 200, the customer will be redirected to . - 201, the customer will be redirected to Ottu payment summary page. - any other code, the customer will be redirected to Ottu payment summary page. For this particular case, Ottu can notify on the email, when Enable webhook notifications? Activated

The field is your primary indicator of the payment’s outcome:

The field provides the value the customer has paid in the currency set during the payment setup.

However, the actual amount captured by the (PG) might differ. This can be due to additional fees, currency conversion, or other factors. To get the exact amount captured by the PG, refer to . The currency in which this amount is denominated can be found in .

For Cash on Delivery transactions, the field will specifically be cod. This helps differentiate offline payments from online ones.

In Conclusion, As you navigate the intricacies of Ottu’s payment webhooks, it’s paramount to ensure you’re well-acquainted with all the general guidelines. We strongly recommend reviewing our comprehensive for a holistic understanding. Additionally, if you find yourself with questions or uncertainties, our section might already have the answers you seek. We’re committed to ensuring a seamless experience, and your thorough understanding of our systems is a crucial part of that journey.

currencies
https://en.wikipedia.org/wiki/ISO_4217
payment gateway
Auto-Debit API documentation
tokenization
cardholder_email
payment transaction states
retrieve, acknowledge, refund, capture, and cancelation
Operation Webhook page
Params
agreement
id
amount_variability
start_date
expiry_date
max_amount_per_cycle
cycle_interval_days
total_cycles
frequency
type
seller
extra_params
amount
amount_details
currency_code
amount
total
amount
fee
fee
capture_delivery_address
capture_delivery_location
card_acceptance_criteria
card_acceptance_criteria
card_acceptance_criteria
card_acceptance_criteria
min_expiry_time
currency_code
customer_email
customer_first_name
customer_id
customer_last_name
customer_phone
extra
fee
gateway_account
gateway_name
gateway_response
initiator
id
first_name
last_name
username
email
phone
is_sandbox
message
order_no
paid_amount
payment_type
agreement
customer_id
pg_params
auth_code
card_number
card_type
payment_id
pg_message
post_date
ref
result
track_id
transaction_id
card_holder
card_expiry_month
card_expiry_year
full_card_expiry
card_issuer
receipt_no
transaction_no
decision
dcc_payer_amount
dcc_payer_currency
dcc_payer_exchange_rate
rrn
reference_number
refunded_amount
remaining_amount
amount
settled amount
result
session_id
settled_amount
signature
timestamp_utc
state
transaction_log_id
token
brand
auto_debit_enabled
customer_id
cvv_required
expiry_month
expiry_year
is_expired
transaction
amount
currency_code
order_no
session_id
state
voided_amount
Event Types
Redirectional Diagram
Payload example (paid)
Acknowledging a Payment
result
amount
Payment Gateway
amount_details.amount
amount_details.currency_code
result
customer_address_city
customer_address_country
customer_address_line1
customer_address_line2
line1
customer_address_postal_code
customer_address_state
city
city
Checkout API
Checkout API
Setup
auto-debit
payment_type
status code
status code
status code
Webhooks page
here
FAQ
redirect_url
amount
code
webhook_url
redirect_url
webhook_url
redirect_url
payment attempt
child transaction sate
Basic Authentication
API Key Authentication
Payment transaction state
currency configuration
webhook_url
E-Commerce
Payment reques
here
inquiry API
webhook_url
webhook_url
webhook_url
webhook_url
webhook_url
redirect_url
void
first payment
here
here