Skip to content
Zohaib edited this page Apr 4, 2023 · 1 revision

This page describes the ExpressPay Flutter SDK Models.

Response

1. ExpressPayResponse

Case Description
result The custom success result callback.
error The custom error result callback.
failure The unhandled exception callback.

2. ExpressPayResult

Basically, it is a enum with the different types of a result model inside.

3. ExpressPayError

The payment error data model. Read more about errors.

Request

1. ExpressPayCard

Field Description
number The credit card number.
expireMonth The month of expiry of the credit card. Month in form XX.
expireYear The year of the expiry of the credit card. Year in the form XXXX.
cvv The CVV/CVC2 credit card verification code. 3-4 symbols.

Before the request, a card will be automatically validated and formatted.

To use the testing environment, please use test cards.

2. ExpressPayRecurringOptions

Field Description
firstTransactionId Transaction ID of the primary transaction in the Payment Platform. UUID format value.
token Value obtained during the primary transaction. UUID format value.

3. ExpressPaySaleOptions

Field Description
channelId Payment channel (Sub-account). String up to 16 characters.
recurringInit Initialization of the transaction with possible following recurring.

4. ExpressPayOrder

Field Description
id Transaction ID in the Merchants system. String up to 255 characters.
amount The amount of the transaction. Numbers in the form XXXX.XX (without leading zeros).
description Description of the transaction (product name). String up to 1024 characters.
currency The currency. 3-letter code.

5. ExpressPayPayer

Field Description
firstName Customer’s name. String up to 32 characters.
lastName Customer’s surname. String up to 32 characters.
address Customer’s address. String up to 255 characters.
country Customer’s country. 2-letter code.
city Customer’s city. String up to 32 characters.
zip ZIP-code of the Customer. String up to 32 characters.
email Customer’s email. String up to 256 characters.
phone Customer’s phone. String up to 32 characters.
ip IP-address of the Customer. XXX.XXX.XXX.XXX.
options The optional ExpressPayPayerOptions.

6. ExpressPayPayerOptions

Field Description
middleName Customer’s middle name. String up to 32 characters.
birthdate Customer’s birthday. Format: yyyy-MM-dd, e.g. 1970-02-17.
address2 The adjoining road or locality of the сustomer’s address. String up to 255 characters.
state Customer’s state. String up to 32 characters.

7. Hash

Hash is signature rule used either to validate your requests to payment platform or to validate callback from payment platform to your system. It must be md5 encoded string calculated by rules below:

  • md5(strtoupper(strrev(email).CLIENT_PASS.strrev(substr(card_number,0,6).substr(card_number,-4))))
  • md5(strtoupper(strrev(email).CLIENT_PASS.trans_id.strrev(substr(card_number,0,6).substr(card_number,-4))))

ExpressPay

The ExpressPay Flutter SDK - https://expresspay.sa

Clone this wiki locally