This method allows you to make recurring. There are two available methods:
- new bank card,
- saved bank card (token)
When customer saves bank card while payment, your server will get a cardToken within unlimint's callback You need to save this token and pass it to SDK, when customer wants to pay with saved card.
MobileSdk.recurringForResult(
activity: AppCompatActivity,
mobileAuthorizationToken: String,
paymentMethodsData: ArrayList<OrderData>,
showStatusScreen: Boolean = true,
showAmountOnButton: Boolean = true,
customizations: ArrayList<Customization>? = null,
environment: Environments,
launcher: ActivityResultLauncher<Intent>
)activityfor calling our ActivitymobileAuthorizationTokenMobile token received from Unlimint (authentication mobile token)paymentMethodsDataarrayList of payment methods with information required for paymentlauncherActivityResultLauncher instance received after registering for activity resultenvironmentEnvironment to send requests to
showStatusScreenflag that manages rendering of Unlimint's status screen (Success/Decline), default value istrueshowAmountOnButtonflag that manages rendering of amount on button of payment screencustomizationslist of parameters to render custom texts and colors of UI elements
To start using our SDK one must get authorization token from our backend mobile service. Examples of getting token can be found in code of this project.
Payment method which is gonna be used for recurring, (card, card token or paypal), depends on provided data in
paymentMethodsData array.
UnlimintSdk.reecurringForResult(
activity = activity,
mobileAuthorizationToken = token,
paymentMethodsData = arrayListOf(
BankCardOrder(
merchantName = "Best shop eva",
customer = Customer(
id = "some-customer-id",
email = "some@email.com"
),
merchantOrder = MerchantOrder(
description = "some description",
id = "some-id"
),
operationData = ScheduledByMerchantRecurringData(
amount = Amount(
value = BigDecimal.valueOf(100),
currency = Currency.getInstance("USD"),
)
)
)
),
environment = Environments.SANDBOX,
launcher = launcher
) UnlimintSdk.reecurringForResult(
activity = activity,
mobileAuthorizationToken = token,
paymentMethodsData = arrayListOf(
BankCardOrder(
merchantName = "Best shop eva",
customer = Customer(
id = "some-customer-id",
email = "some@email.com"
),
merchantOrder = MerchantOrder(
description = "some description",
id = "some-id"
),
operationData = ScheduledByAcquirerRecurringData(
amount = Amount(
value = BigDecimal.valueOf(100),
currency = Currency.getInstance("USD"),
)
)
)
),
environment = Environments.SANDBOX,
launcher = launcher
) UnlimintSdk.recurringForResult(
activity = activity,
mobileAuthorizationToken = token,
paymentMethodsData = arrayListOf(
TokenizedCardOrder(
merchantName = "Best shop eva",
customer = Customer(
id = "some-customer-id",
email = "some@email.com"
),
merchantOrder = MerchantOrder(
description = "some description",
id = "some-id"
),
cardAccount = TokenizedCardOrder.CardAccount(
tokenData = arrayListOf(
TokenData(
"token": "test_token_for_payment",
"maskedPan": "400000...0085"
)
)
),
operationData = ScheduledByMerchantRecurringData(
amount = Amount(
value = BigDecimal.valueOf(100),
currency = Currency.getInstance("USD"),
)
)
)
),
environment = Environments.SANDBOX,
launcher = launcher
) UnlimintSdk.recurringForResult(
activity = activity,
mobileAuthorizationToken = token,
paymentMethodsData = arrayListOf(
TokenizedCardOrder(
merchantName = "Best shop eva",
customer = Customer(
id = "some-customer-id",
email = "some@email.com"
),
merchantOrder = MerchantOrder(
description = "some description",
id = "some-id"
),
cardAccount = TokenizedCardOrder.CardAccount(
tokenData = arrayListOf(
TokenData(
"token": "test_token_for_payment",
"maskedPan": "400000...0085"
)
)
),
operationData = ScheduledByAcquirerRecurringData(
amount = Amount(
value = BigDecimal.valueOf(100),
currency = Currency.getInstance("USD"),
)
)
)
),
environment = Environments.SANDBOX,
launcher = launcher
)