Testing iOS SDK - Card Payments

With Judopay’s iOS Mobile SDK solution, a minimal integration is all that is required to enable you to:

  • Take a card payment

  • Take a card preAuth

  • Take a card token payment

  • Take a card token preAuth

  • Check the validity of a card, using checkCard

  • Tokenise the card information into an encrypted string, using registerCard

 

Card Payment Scenarios (Positive Flow)

Depending on your use case and app configurations, some of the following scenarios may not be relevant to you.

 

Follow our suggested guidelines to simulate positive / happy path scenarios, in the sandbox environment, using the Test Cards to test your integration is working correctly.

This will give you confidence for when your integration goes live.

 

* These images are from our dummy app, your interface may look different.

Suggested Test Scenario

Expected Outcome Tip

Process a card payment / preAuth

 

Use the test card details here.

You will be directed to a successful transaction completed page.*

The app is using the payment / preAuth flow, which has been set up in the payment configuration object.

 

 

 

 

Process a card token payment / token preAuth

You will be directed to a successful transaction completed page.*

The app is using the token payment /token preAuth flow, which has been set up in the payment configuration object.

 

If your app allows the consumer to save their card details, use the save card scenario and use the saved card token reference to make a payment.

 

 

Process a card payment prompting the consumer to enter their billing address.

Depending on your use case and app configuration:

  • The iOS SDK prompts the consumer to enter their billing details.

 

Example Flow: Prompting the consumer to enter their billing address:*

Process a card payment without the billing address fields displayed.

Depending on your use case and app configuration:

  • The iOS SDK does not prompt the consumer to enter their billing details.

If you process a token payment, the billing details form will not be displayed in the payment flow.
This is due to the card token being used, which already has the cardholders details securely saved.

 

Example 'No Challenge' Flow:*

Handle a 3D Secure 2 flow.

It is useful to have an understanding of the full 3DS 2 payment flow, including the conditional steps, to verify how it relates to the user journey in your app.
For more information on the 3DS 2 flow, see Overview of the Frictionless and Challenge Flow.

Depending on your use case and app configuration:

  • Use the Card Holder Name table to trigger any 3D Secure 2 flow, see CardHolderName Table.

  • Your app explicitly forces a challenge flow, so the consumer will be directed to the challenge page.

 

For the purpose of this exercise, below we have an example of a:

  • Frictionless flow.

  • Successful challenge flow.

  • Unsuccessful challenge flow.

Example 3D Secure 2 'Frictionless' Flow:*

Example Successful 3D Secure 2 'Challenge' Flow:*

Example Unsuccessful 3D Secure 2 'Challenge' Flow:*

 

Test Card Data

To simulate a successful card payments request, use the test card details here.

 

Calling the Mobile SDK Functions

For more information on integrating your iOS app, including calling the Mobile SDK functions see Integrating with Judopay.

 

Card Payment Scenarios (Negative Flow)

Declines can occur for various reasons, it can be impossible to simulate all the negative flows in a sandbox environment.

Important to Consider:

  • How your app handles negative flows

  • Your customer's experience should a negative flow occur:

    • Logic to communicate error messages

    • Customise how your app responds

  • How to maintain application consistency

 

* These images are from our dummy app, your interface may look different.

Suggested Negative Test Scenario

Expected Error

Error Description

To handle a decline scenario, attempt to perform a card payment / preAuth request decline using the following:

  • cardNumber: 4221690000004963

  • cv2: 452

  • expiryDate: 12/24

You will be re-directed to an error page with an error message.*

Card declined

To handle a decline scenario, attempt to perform a card payment / preAuth request decline.

Using the following example use cases:

  • Enter an invalid cvv

  • User taps the cancel button on the 3DS 2 challenge screen

You will be re-directed to an error page with an error message.*

Card declined

Attempt to perform a card payment where the incorrect card details are entered.

 

This will perform the field validation checks.

 

 

 

 

 

 

 

Form validation error messages will be displayed in the form.

The Pay Now button will be greyed out. *

Payment declined