Generating a Device Fingerprint

The first step of processing a 3DS card payment is generating a device fingerprint.

  • Start by passing the card BIN to the start() method of the ThreeDSecureService.
    The start() method will further call ThreeDSStartCallback when a device fingerprint is generated.
    threeDSecureService.start("411111", new ThreeDSStartCallback() {
    
        @Override
        public void onSuccess(@NonNull String deviceFingerprintId) {
            // Use the generated device fingerprint to create an authentication
        }
    
        @Override
        public void onError(@NonNull ThreeDSecureError error) {
            // Handle the error
        }
    
    });
  • Pass your device fingerprint to your server.
    The server must call the /authentications endpoint of the Paysafe REST APIs. The response from the /authentications call contains the 3DS challenge payload, which is handled by your application.

If the SDK fails to generate a device fingerprint, you will receive a ThreeDSecureError that contains useful information about the cause of the failure. When troubleshooting, you can start by checking the error code and detailed message. Below, you can check the currently supported error codes:

Error Information
Error Code Value Explanation
ERROR_CODE_CONNECTION_FAILED 9001 The operation failed due to a timeout or a connectivity issue.
ERROR_CODE_INVALID_API_KEY 9013 Invalid API key or API secret provided when creating a Paysafe API Client.
ERROR_CODE_INTERNAL_SDK_ERROR 9014 A general SDK error. The detailed message should provide additional information.
ERROR_CODE_INVALID_MERCHANT_CONFIGURATION 9501 The configuration of the provided merchant account is invalid. The Paysafe Support team should be notified.

If you cannot solve the issue on your own, you can get in touch with the Paysafe Support at integrations@paysafe.com and provide them with the error correlation ID.

Did you find this page useful?