Constructor
new ThreeDSecure(options)
Do not use this constructor directly. Use braintree.threeDSecure.create instead.
Parameters:
Name | Type | Description |
---|---|---|
options |
object | 3D Secure create options |
Methods
cancelVerifyCard(callback) → {void}
Cancel the 3DS flow and return the verification payload if available.
Parameters:
Name | Type | Description |
---|---|---|
callback |
errback | The second argument is a verifyPayload. If there is no verifyPayload (the initial lookup did not complete), an error will be returned. |
Example
threeDSecure.cancelVerifyCard(function (err, verifyPayload) {
if (err) {
// Handle error
console.log(err.message); // No verification payload available
return;
}
verifyPayload.nonce; // The nonce returned from the 3ds lookup call
verifyPayload.liabilityShifted; // boolean
verifyPayload.liabilityShiftPossible; // boolean
});
teardown(callbackopt) → {void}
Cleanly tear down anything set up by create
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
callback |
errback |
<optional> |
Called once teardown is complete. No data is returned if teardown completes successfully. |
verifyCard(options, callback) → {void}
Launch the 3D Secure login flow, returning a nonce payload.
Parameters:
Name | Type | Description | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object | Options for card verification. Properties
|
|||||||||||||||
callback |
errback | The second argument, |
Example
var my3DSContainer;
threeDSecure.verifyCard({
nonce: existingNonce,
amount: 123.45,
addFrame: function (err, iframe) {
// Set up your UI and add the iframe.
my3DSContainer = document.createElement('div');
my3DSContainer.appendChild(iframe);
document.body.appendChild(my3DSContainer);
},
removeFrame: function () {
// Remove UI that you added in addFrame.
document.body.removeChild(my3DSContainer);
}
}, function (err, payload) {
if (err) {
console.error(err);
return;
}
if (payload.liabilityShifted) {
// Liablity has shifted
submitNonceToServer(payload.nonce);
} else if (payload.liabilityShiftPossible) {
// Liablity may still be shifted
// Decide if you want to submit the nonce
} else {
// Liablity has not shifted and will not shift
// Decide if you want to submit the nonce
}
});
Type Definitions
addFrameCallback(erropt, nullable, iframe) → {void}
The callback used for options.addFrame in verifyCard.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
err |
BraintreeError |
<optional> <nullable> |
|
iframe |
HTMLIFrameElement | An iframe element containing the bank's authentication page that you must put on your page. |
removeFrameCallback() → {void}
The callback used for options.removeFrame in verifyCard.
verifyPayload :object
Properties:
Name | Type | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
nonce |
string | The new payment method nonce produced by the 3D Secure lookup. The original nonce passed into verifyCard was consumed. This new nonce should be used to transact on your server. |
|||||||||
details |
object | Additional account details. Properties
|
|||||||||
description |
string | A human-readable description. |
|||||||||
liabilityShiftPossible |
boolean | Indicates whether the card was eligible for 3D Secure. |
|||||||||
liabilityShifted |
boolean | Indicates whether the liability for fraud has been shifted away from the merchant. |