Skip to content
Zohaib edited this page Feb 9, 2023 · 5 revisions

This page describes the ExpressPay iOS SDK SALE Adapter.

Overview

Payment Platform supports two main operation type: Single Message System (SMS) and Dual Message System (DMS).

  • SMS is represented by SALE transaction. It is used for authorization and capture at a time. This operation is commonly used for immediate payments.
  • DMS is represented by AUTH and CAPTURE transactions. AUTH is used for authorization only, without capture. This operation used to hold the funds on card account (for example to check card validity).

SALE request is used to make both SALE and AUTH transactions.

If you want to make AUTH transaction, you need to use parameter auth with value Y.

If you want to send a payment for the specific sub-account (channel), you need to use channel_id, that specified in your Payment Platform account settings.

SALE

  1. The SALE Adapter operation method:
/**
 * @param termUrl3ds URL to which Customer should be returned after 3D-Secure. String up to 1024 characters.
 * @param auth indicates that transaction must be only authenticated, but not captured (AUTH or SALE).
 * @param callback the [ExpressPaySaleCallback].
 */
func execute(order: ExpressPaySaleOrder,
             card: ExpressPayCard,
             payer: ExpressPayPayer,
             termUrl3ds: String,
             options: ExpressPaySaleOptions? = nil,
             auth: Bool,
             callback: @escaping ExpressPaySaleCallback) -> URLSessionDataTask

If your account supports 3D-Secure, transaction result will be sent to your Notification URL.

  1. The ExpressPaySaleCallback results:
Result Description
ExpressPaySaleResult.success success result.
ExpressPaySaleResult.decline result with the decline reason.
ExpressPaySaleResult.recurring result with the recurring parameters.
ExpressPaySaleResult.secure3D result with the redirect parameters.

ExpressPay

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

Clone this wiki locally