Skip to content

RECURRING_SALE

Zohaib edited this page Mar 15, 2023 · 3 revisions

This page describes the ExpressPay Flutter SDK RECURRING_SALE Adapter.

Overview

Recurring payments are commonly used to create new transactions based on already stored cardholder information from previous operations.

RECURRING_SALE request has same logic as SALE request, the only difference is that you need to provide primary transaction id, and this request will create a secondary transaction with previously used cardholder data from primary transaction.

RECURRING_SALE

  1. The RECURRING_SALE Adapter operation method based on the cardholder data:
/**
 * @param payerEmail customer’s email. String up to 256 characters.
 * @param cardNumber the credit card number.
 * @param auth indicates that transaction must be only authenticated, but not captured.
 * @param callback the [ExpressPaySaleCallback].
 */
func execute(order: ExpressPayOrderProtocol,
             options: ExpressPayRecurringOptions,
             payerEmail: String,
             cardNumber: String,
             auth: Bool,
             callback: @escaping ExpressPaySaleCallback) -> URLSessionDataTask
  1. The RECURRING_SALE Adapter operation method based on the hash data:
/**
 * @param hash special signature to validate your request to payment platform.
 * @param auth indicates that transaction must be only authenticated, but not captured.
 * @param callback the [ExpressPaySaleCallback].
 */
func execute(order: ExpressPayOrderProtocol,
             options: ExpressPayRecurringOptions,
             hash: String,
             auth: Bool,
             callback: @escaping ExpressPaySaleCallback) -> URLSessionDataTask

Response from Payment Platform is the same as by SALE command, except for the value of the difference parameter "action=RECURRING_SALE".

  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 Flutter SDK - https://expresspay.sa

Clone this wiki locally