Getting started

Note: If you haven’t chosen your integration method yet, begin by selecting your method and following the ‘What to do next’ steps first.


Integrate simple and secure in-app card payments into your app with the Judopay SDK.

Judopay’s Out-of-the-box UI comes with built-in checks and security features, including real-time error detection, 3D Secure, data and address validation for frictionless card data capture.

This minimises PCI compliance and allows you focus on developing other areas of your app. See our UI customization guide to learn more.


Integration

Requirements

  • Xamarin Studio 6.1 / Visual Studio 2015.
  • Xamarin Forms 2.3.2.127.
  • Xcode 8.
  • Android 7.0 (API 24) SDK and build tools 24.0.3 installed.

The SDK is compatible with Android Jelly Bean (4.1) and above and iOS 8 and above.

You can integrate Judopay into your project by visiting the Xamarin component store, then search for ‘Judopay’ and add the component to your app, Android and iOS projects.


Setup

To start setting up your app, please complete all the relevant integration steps in the setup section. By following these steps, you are ensuring that your app will be secure and frictionless for you and your customers.

If you have completed the setup section, start using Judopay’s iOS ObjC SDK by adding your app’s token and secret to your newly created Judo instance in your Xamarin Forms page:

var judo = new Judo()
{
    JudoId = "<JUDO_ID>",
    ApiToken = "<API_TOKEN>",
    ApiSecret = "<API_SECRET>",
    Environment = JudoEnvironment.Sandbox,
    Amount = 1.50m,
    Currency = "GBP",
    ConsumerReference = "YourUniqueReference"
};

You will need to add additional configuration depending on the project you are integrating:

  • Android

    Due to a bug in Xamarin.Forms for Android that results in the page not resizing correctly when the keyboard is visible, an additional piece of code must be added to your Android Activity.

    Add the code snippet after the Xamarin.Forms.Forms.Init method call inside the ‘OnCreate’ method of your Activity:

    Window.SetSoftInputMode(SoftInput.AdjustResize);
    AndroidBugfix5497.assistActivity(this);
  • iOS

    Xamarin.Forms for iOS has issues resolving dependencies using DependencyService unless they have been registered.

    Add this in your AppDelegate.cs after the LoadApplication(new App()) method call in your FinishedLaunching method:

    DependencyService.Register<ClientService>();
    DependencyService.Register<HttpClientHelper>();
    
    // Required if using Apple Pay
    DependencyService.Register<ApplePayService>();

The SDK allows further configuration by using the existing Judo.Builder settings. These are the options:

  • Supported card networks  Allows you to determine the accepted card networks when using your app. The default value includes Visa, MasterCard, Maestro and AmEx.

    Note: Processing transactions with AmEx cards requires that your account supports it as well. Please contact us first if you are planning to accept AmEx.

  • Address Verification Service (AVS)  You will be able to capture the consumer’s country and postcode as an additional security layerlearn more about AVS.

    Note: AVS requires an additional configuration at account level. If you are looking to use this feature, please contact us.


Payment types

Setup the payment types you require for your app. Depending on your chosen integration method you have a variety of payment types.

If you require other payment types, such as reserving funds on a card to collect later, or server side refunds, please see the Docs homepage for all integration methods.


Test sandbox payments

Test your app quickly and securely with different payment types. The Sandbox testing guide will provide you all the details you need to ensure a solid integration. Here are some highlights:

  • Ensure that the SDK is properly configured for sandbox environment.
  • Use the test cards provided in the dashboard, under ‘Tools › Generating transactions’.
  • If 3D Secure is enabled and you want to simulate the 3D Secure screen, contact us for card details.

Note: Test all the payment types you require in the sandbox environment before going live.


UI customization

Use Judopay’s Out-of-the-box UI for a frictionless checkout in your app. Minimize your PCI scope with a UI that can be themed to match your brand colors.

Built-in features include quick data entry, optional security checks and fraud prevention that allow you to focus on developing other areas of your app.

The Judopay SDK also includes an API client for direct use of Judopay’s RESTful API. This offers the most options for customization, but we recommend that you use the Judopay UI to minimise your PCI scope and development time.


Additional resources

Sample app

See the sample app on GitHub for examples on how to integrate the SDK (payments, pre-authorizations, token payments, etc).


Ready to go live?

When you have completed these steps, you are ensuring that your app will be secure and frictionless for you and your customers.

Follow the next steps in the Going live guide.