Integrate nol Pay on your website or mobile application and fully customize your checkout experience using your own UI.
Parameter Name | Required | Description |
---|---|---|
currencyCode | ✓ | 3-letter currency code in ISO 4217 format, e.g. USD for US dollars |
order ↳ lineItems | ✓ | Details of the line items of the order |
orderId | ✓ | orderId will be passed to Nol as transaction id; it is mandatory, and must be unique. One orderId value cannot be used for multiple payments. Maximum length of orderId is 32 characters. |
amount | ✓ | Minimal value (in minor units): 500 Maximal value (in minor units): 200000 |
paymentMethod ↳ descriptor | ✓ | A description of the payment, as it would typically appear on a bank statement. |
Podfile
:Info.plist
for effective NFC communication and web access:NSAllowsArbitraryLoads
to true
is mandatory when working on the sandbox environment.TransitSDK
from nol Pay. This SDK makes it easier to work with NFC nol payment cards.To integrate PrimerHeadlessNolPayManager
, follow these steps:PrimerHeadlessUniversalCheckout.current.start
as described here.paymentMethods
array will contain PrimerPaymentMethodManagerCategory.NOL_PAY
category.PrimerHeadlessNolPayManager
as described here.PrimerHeadlessNolPayManager
offers a suite of headless components, each designed to seamlessly guide you through the various steps required for processing nol Pay payments:Link a Nol cardNolPayLinkCardComponent
acts as a state machine enabling you to walk the user through all the steps.Subscribe to the stepDelegate Flow in order to be notified of the next step the user has to go through:PrimerHeadlessSteppableDelegate
protocol and implement its function:PrimerHeadlessValidatableDelegate
protocol and implement its function:NolPayLinkCardStep.collectTagData
, consists in having the user scan their Nol cards in order to retrieve the NFC tag.Call submit()
to show the NFC scanning UI prompting the user to scan their Nol card.NolPayLinkCardStep.collectPhoneData
, consists in collecting the user’s mobile phone number.submit()
is successful, the user should receive an OTP code via an SMS sent to their phone number.Handle the OTP stepNolPayLinkStep.collectOtpData
, consists in capturing the OTP code:NolPayLinkStep.cardLinked
, involves managing the newly linked Nol card. After successfully linking your Nol card, it’s now ready for use in payments.Handle errorsPrimerHeadlessErrorableDelegate
protocol and implement its function:NolPayLinkedCardsComponent
enables you to fetch the list of the PrimerNolPaymentCard objects, linked to a particular user.Get startedNolPayPaymentComponent
acts as a state machine enabling you to walk the user through all the steps.Subscribe to the stepDelegate Flow in order to be notified of the next step the user has to go through:PrimerHeadlessSteppableDelegate
protocol and implement its function:PrimerHeadlessValidatableDelegate
protocol and implement its function:NolPayPaymentStep.collectCardAndPhoneData
, consists in collecting the Nol card retrieved using getLinkedCards that user wants to pay with, and the user’s mobile phone number.submit()
is successful, the SDK will automatically show the NFC scanning UI prompting the user to scan the selected Nol card.Handle the requested payment stepNolPayPaymentStep.paymentRequested
, consists in handling the end of the payment flow.This step will be triggered when a nol Pay payment was requested using the TransitSDK
from nol Pay. When this step is reached, the user is successfully charged on the Nol card they scanned during the previous step.Just like any other Primer payment, make sure to listen for the final Primer payment result using the primerHeadlessUniversalCheckoutDidCompleteCheckoutWithData
or primerHeadlessUniversalCheckoutDidFail
callbacks as described here.Handle errorsPrimerHeadlessErrorableDelegate
protocol and implement its function:NolPayUnlinkCardComponent
acts as a state machine enabling you to walk the user through all the steps.Subscribe to the stepDelegate Flow in order to be notified of the next step the user has to go through:PrimerHeadlessSteppableDelegate
protocol and implement its function:PrimerHeadlessValidatableDelegate
protocol and implement its function:NolPayUnlinkCardStep.collectCardAndPhoneData
, consists in collecting the Nol card retrieved using getLinkedCards that user wants to unlink and the user’s mobile phone number and country dialling code.submit()
is successful, the user should receive an OTP code via an SMS sent to their phone number.Handle the OTP stepNolPayUnlinkStep.collectOtpData
, consists in capturing the OTP code:NolPayUnlinkStep.cardUnlinked
, involves managing the unlinked Nol card. After successfully ulinking your Nol card, it can be safely removed from the list of the linked Nol cards.Handle errorsPrimerHeadlessErrorableDelegate
protocol and implement its function:TransitSDK
can return can be found hereA3313
, make sure not to remove the Nol card until the scanning is completed