Drop-in UI
Customization
Display a saved payment method
If you pass a customer_id
when generating a client token, Drop-in will display that customer's saved payment methods and automatically add any newly-entered payment methods to their Vault record.
Delete a saved payment method
If you authorize Drop-in using client tokens generated with customer_ids, you can also enable customers to remove saved payment methods from their Vault records. To support this functionality, enable Drop-in's Vault Manager:
- Swift
let request = BTDropInRequest()
request.vaultManager = true
Drop-in will then display an edit button which launches the Vault Manager.
Collect cardholder name
You can collect the cardholder name as part of the credit card form. This field can be marked as optional or required.
- Swift
let request = BTDropInRequest()
request.cardholderNameSetting = .optional
// To make the field required
// request.cardholderNameSetting = .required
Premium Fraud Management Tools
To use Premium Fraud Management Tools for your Drop-in form, you'll need to complete these 3 steps at the same time:
- Enable Premium Fraud Management Tools in the Control Panel
- Update your client-side integration to collect device data
- Update your server-side integration to pass device data on transaction and verification requests
If there is any delay between enabling in the Control Panel and making the code changes, the integration will not work properly. See the Premium Fraud Management Tools guide for more details.
Appearance
To customize the appearance of Drop-in, instantiate BTDropInUICustomization using the light, dark or dynamic color schemes, and then override additional properties as needed. The dynamic color scheme will switch between light and dark based on whether the device is in light or dark mode. The .dynamic scheme is only available in iOS 13+.
View the list of customizable properties.
Set your instance of BTDropInUICustomization on the BTDropInRequest.uiCustomization property.
- Swift
let uiCustomization = BTDropInUICustomization(colorScheme: .light)
uiCustomization.fontFamily = "Helvetica"
uiCustomization.boldFontFamily = "Helvetica Bold"
let dropInRequest = BTDropInRequest()
dropInRequest.uiCustomization = uiCustomization
You can also customize Drop-in to utilize your own dynamic colors using Apple's init(dynamicProvider: @escaping (UITraitCollection) -> UIColor).