Generating the Device Fingerprint
Please Note: As an ISV / Paysafe Partner, you will need to complete all of the below "merchant" steps on behalf of the Parent Merchant Legal Entity (PMLE) that your merchants will be operating under.
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 completion when a device fingerprint is generated.
In the case of a network token transaction, pass the network token BIN for 3DS device fingerprinting.
Use the same account for single-use token generation as the one used for authorization processing.
For more information about how to obtain the network token BIN, see Get a Card Single-Use Token in the Customer Vault API Reference.
[self.threeDSecureService startWithCardBin: "411111"
completion: ^(NSString * _Nullable deviceFingerprintId, NSError * _Nullable error) {
if (error) {
// Handle the error
} else if(deviceFingerprintId) {
// Use the generated device fingerprint to create an authentication
}
}];
threeDSecureService.start(cardBin: "411111",
completion: { deviceFingerprintingId, error in
if error {
// Handle the error
} else if deviceFingerprintId {
// Use the generated device fingerprint to create an authentication
}
})
- 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 Code | Value | Explanation |
---|---|---|
ERROR_CODE_CONNECTION_FAILED | 9001 | The operation failed due to a timeout or a connectivity issue. |
ERROR_CODE_INVALID_RESPONSE | 9002 | Server returned an invalid data format which could not be handled by the SDK. |
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_OPTIONS | 9015 | Invalid option fields 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. |
ERROR_CODE_TRANSACTION_FAILED_OR_CANCELED | 9601 | The operation failed due to a cancellation or a failure. |
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.