Problem
Customers experience payment failures when using Kaptio Pay with Braintree integration. The end clientâs bank chooses not to issue a 3DS challenge when one is requested, resulting in frictionless flow rejections or payment declines without proper liability shift.
What We Found
Payment failures occur because Kaptio cannot send complete risk evaluation data to Braintree. As part of each transaction, Kaptio sends a data block to Braintree containing: number of travellers, start and end date of the trip, and country of origin for the trip. The country of origin is derived from either the start location of the package OR the first location found on the package. This location must have a country in its hierarchy with the Braintree Country Code field properly populated with a 2-letter code. Without this data, Braintree and the cardholderâs bank cannot properly evaluate transaction risk, leading to more rejections.
Solution
- Navigate to the Location object in Salesforce
- Identify all country-level Location records used in your packages
- Populate the âBraintree Country Codeâ field with the correct 2-letter country code (ISO 3166-1 alpha-2 format)
- Ensure the location hierarchy is correct - packages need a start location or first location that has a country with the Braintree code
- Review fraud settings in Braintree - the âApply 3DS & request challengeâ setting ensures liability shift but may have more rejections than âApply 3DSâ alone
- Monitor payment success rates after making these changes
Notes
- Braintree can add a âchallenge_requestedâ flag to strongly hint that the bank should issue a challenge, but this does not guarantee a challenge will occur
- When 3DS authentication is successful (authenticate_successful status), liability shifts to the card issuer
- Frictionless flows (authenticate_frictionless_failed) may authorize payment without liability shift - the bank bypasses the challenge based on perceived risk
- Kaptio intends to add the challenge_requested flag as a standard feature
- Populating Braintree Country Code data is best practice to reduce rejection rates
Warnings
â ïž Changing from âApply 3DS & request challengeâ to just âApply 3DSâ may result in loss of liability shift for some transactions where the bank bypasses the challenge
Source: KHELP-11217