3DS Global
Execute 3DS Global with Spreedly through Dodgeball. 3DS is a two-step process within a checkpoint: initialization and execution.
To learn more about Spreedly 3DS, check out the Spreedly 3DS2 Global guide
Enable 3DS Global
Enable 3DS initialization
- From the Service Catalog, click View All Services.
- Select the Spreedly service.
- Complete the configuration section with the following credentials:
- Environment Key
- Access Secret
- SCA Provider Key (this parameter is optional for the service but required to execute 3DS)
- Click Enable to save your configuration.
Enable 3DS Execution
- From the Service Catalog, click View All Services.
- Select the Spreedly Checkout service.
- Complete the configuration section with the following credentials:
- Environment Key
- Enable Custom Iframe Location (optional, more details below)
- Click Enable to save your configuration.
Configure 3DS in a Checkpoint
- Open the Step Palette in Checkpoint Studio and click the Services tab to find available step templates.
- Drag the following steps into the checkpoint flow diagram where you want it to run:
- Sca Authentication (Spreedly)
- Perform 3DS Authentication (Spreedly Checkout)
- Click the Perform 3DS step to open the flyout configuration panel and configure how it runs.
- Expand Advanced Options at the bottom of the panel and click "Manage Input Data Sources"
- Update the source of the input for threeds.inputs.transaction.token to be
spreedly.scaAuthentication.outputs.transaction.token. This will ensure that this step executes based on the sca authentication above it in the workflow.
Request Data
Spreedly requires certain data to run SCA authentication and execute 3DS.
You can view detailed descriptions of input fields in the Checkpoint studio. Send data that meets the specifications for each field.
Minimum Required Data
This is the minimum data required to execute Spreedly 3DS. Sending more data improves authentication results, but omitting the optional fields below will not cause an error.
{
"paymentMethod": {
"token": "01KGT7TQTC921Y33BR4TSYEHJC"
},
"transaction": {
"amount": 2999,
"currency": "USD"
},
"spreedly": {
"scaAuthentication": {
"inputs": {
"browserInfo": "eyJ3aWR0aCI6MjU2MCwiaGVpZ2h0IjoxNDQwLCJkZXB0aCI6MzAsInRpbWV6b25lIjoyNDAsInVzZXJfYWdlbnQiOiJNb3ppbGxhLzUuMCAoTWFjaW50b3NoOyBJbnRlbCBNYWMgT1MgWCAxMC4xNTsgcnY6MTIzLjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvMTIzLjAiLCJqYXZhIjpmYWxzZSwibGFuZ3VhZ2UiOiJlbi1VUyIsImFjY2VwdF9oZWFkZXIiOiJ0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbCJ9==",
"scaProviderKey": {{your_spreedly_sca_proider_key}}
}
}
}
}Full Data Example
This example includes all supported fields for Spreedly 3DS. Some fields may not be relevant to your business ā include only what applies to your use case.
{
"paymentMethod": {
"token": "01KGT7TQTC921Y33BR4TSYEHJC"
},
"transaction": {
"amount": 2999,
"currency": "USD",
"orderNumber": "123order123",
"billingAddress": {
"firstName": "Jane",
"lastName": "Smith",
"email": "[email protected]",
"phone": "+15555550100",
"line1": "123 Main Street",
"line2": "Apt 4B",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"country": "US"
}
},
"customer": {
"primaryEmail": "[email protected]"
},
"runtimeEvent": {
"ipAddress": "203.0.113.42"
},
"spreedly": {
"scaAuthentication": {
"inputs": {
"browserInfo": "eyJ3aWR0aCI6MjU2MCwiaGVpZ2h0IjoxNDQwLCJkZXB0aCI6MzAsInRpbWV6b25lIjoyNDAsInVzZXJfYWdlbnQiOiJNb3ppbGxhLzUuMCAoTWFjaW50b3NoOyBJbnRlbCBNYWMgT1MgWCAxMC4xNTsgcnY6MTIzLjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvMTIzLjAiLCJqYXZhIjpmYWxzZSwibGFuZ3VhZ2UiOiJlbi1VUyIsImFjY2VwdF9oZWFkZXIiOiJ0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbCJ9==",
"scaProviderKey": "2275CJZNR68K2AT26YQ48FRNPG",
"testScenario": "challenge", // required if using a test sca_provider
"callbackUrl": "https://example.com/webhooks/spreedly/callback",
"callbackFormat": "json"
}
}
}
}Updated about 4 hours ago
