🤖 Merge PR #49661 fix(braintree-web-drop-in): extends definition further by @iamricard

I added some simple definitions of the three-d-secure options. I also
ran `npm run prettier types/braintree-web-drop-in/**/*.ts -- -w`.
This commit is contained in:
Ricard Solé
2020-12-15 10:35:34 +01:00
committed by GitHub
parent a46cca4ced
commit 2b1c9a14df
3 changed files with 73 additions and 61 deletions

View File

@@ -121,13 +121,25 @@ export interface Dropin {
off(event: 'noPaymentMethodRequestable', handler: () => void): void;
off(event: 'paymentMethodRequestable', handler: (payload: PaymentMethodRequestablePayload) => void): void;
off(event: 'paymentOptionSelected', handler: (payload: PaymentOptionSelectedPayload) => void): void;
requestPaymentMethod(options: object, callback: RequestPaymentMethodCallback): void;
requestPaymentMethod(options: PaymentMethodOptions, callback: RequestPaymentMethodCallback): void;
requestPaymentMethod(callback: RequestPaymentMethodCallback): void;
requestPaymentMethod(): Promise<PaymentMethodPayload>;
requestPaymentMethod(options?: PaymentMethodOptions): Promise<PaymentMethodPayload>;
teardown(callback: (error: object | null | undefined) => void): void;
teardown(): Promise<void>;
}
export interface PaymentMethodOptions {
threeDSecure: {
amount: string;
challengeRequested?: boolean;
exemptionRequested?: boolean;
email?: string;
mobilePhoneNumber?: string;
billingAddress?: object;
additionalInformation?: object;
};
}
export type RequestPaymentMethodCallback = (error: object | null, payload: PaymentMethodPayload) => void;
export type PaymentMethodPayload =

View File

@@ -5,7 +5,7 @@ import {
cardPaymentMethodPayload,
} from 'braintree-web-drop-in';
braintree.dropin.create({ authorization: "", container: "my-div" }, (error, myDropin) => {
braintree.dropin.create({ authorization: '', container: 'my-div' }, (error, myDropin) => {
if (error) {
return;
}
@@ -16,11 +16,11 @@ braintree.dropin.create({ authorization: "", container: "my-div" }, (error, myDr
(async () => {
const myDropin = await braintree.dropin.create({
authorization: "",
container: "my-div",
locale: "en-US",
authorization: '',
container: 'my-div',
locale: 'en-US',
translations: {},
paymentOptionPriority: ["card", "paypal", "paypalCredit", "venmo", "applePay"],
paymentOptionPriority: ['card', 'paypal', 'paypalCredit', 'venmo', 'applePay'],
card: {
cardholderName: {
required: false,
@@ -36,9 +36,9 @@ braintree.dropin.create({ authorization: "", container: "my-div" }, (error, myDr
},
},
paypal: {
flow: "checkout",
flow: 'checkout',
amount: 1,
currency: "USD",
currency: 'USD',
buttonStyle: {},
commit: false,
},
@@ -47,34 +47,34 @@ braintree.dropin.create({ authorization: "", container: "my-div" }, (error, myDr
allowNewBrowserTab: false,
},
applePay: {
buttonStyle: "white-outline",
displayName: "name",
buttonStyle: 'white-outline',
displayName: 'name',
applePaySessionVersion: 1,
paymentRequest: {
countryCode: "US",
currencyCode: "USD",
supportedNetworks: ["visa", "masterCard"],
merchantCapabilities: ["supports3DS"],
total: { label: "Your Label", amount: "10.00" },
countryCode: 'US',
currencyCode: 'USD',
supportedNetworks: ['visa', 'masterCard'],
merchantCapabilities: ['supports3DS'],
total: { label: 'Your Label', amount: '10.00' },
},
},
googlePay: {
merchantId: "",
googlePayVersion: "",
merchantId: '',
googlePayVersion: '',
transactionInfo: {
currencyCode: "USD",
totalPriceStatus: "FINAL",
totalPrice: "100.00",
currencyCode: 'USD',
totalPriceStatus: 'FINAL',
totalPrice: '100.00',
},
button: {
onClick: (event) => {}
onClick: event => {},
},
},
dataCollector: {
kount: false,
},
threeDSecure: {
amount: "1",
amount: '1',
},
vaultManager: false,
preselectVaultedPaymentMethod: false,
@@ -87,20 +87,20 @@ braintree.dropin.create({ authorization: "", container: "my-div" }, (error, myDr
return;
}
function onPaymentMethodRequestable({ type, paymentMethodIsSelected }: PaymentMethodRequestablePayload) {
const myType: "CreditCard" | "PayPalAccount" = type;
const myType: 'CreditCard' | 'PayPalAccount' = type;
const myBool: boolean = paymentMethodIsSelected;
}
function onPaymentOptionSelected({ paymentOption }: PaymentOptionSelectedPayload) {
const myPaymentOption: "card" | "paypal" | "paypalCredit" = paymentOption;
const myPaymentOption: 'card' | 'paypal' | 'paypalCredit' = paymentOption;
}
myDropin.on("noPaymentMethodRequestable", onNoPaymentMethodRequestable);
myDropin.on("paymentMethodRequestable", onPaymentMethodRequestable);
myDropin.on("paymentOptionSelected", onPaymentOptionSelected);
myDropin.on('noPaymentMethodRequestable', onNoPaymentMethodRequestable);
myDropin.on('paymentMethodRequestable', onPaymentMethodRequestable);
myDropin.on('paymentOptionSelected', onPaymentOptionSelected);
myDropin.off("noPaymentMethodRequestable", onNoPaymentMethodRequestable);
myDropin.off("paymentMethodRequestable", onPaymentMethodRequestable);
myDropin.off("paymentOptionSelected", onPaymentOptionSelected);
myDropin.off('noPaymentMethodRequestable', onNoPaymentMethodRequestable);
myDropin.off('paymentMethodRequestable', onPaymentMethodRequestable);
myDropin.off('paymentOptionSelected', onPaymentOptionSelected);
myDropin.requestPaymentMethod((error, payload) => {
if (error) {

View File

@@ -1,6 +1,6 @@
import * as dropin from "braintree-web-drop-in";
import * as dropin from 'braintree-web-drop-in';
dropin.create({ authorization: "", container: "my-div" }, (error, myDropin) => {
dropin.create({ authorization: '', container: 'my-div' }, (error, myDropin) => {
if (error) {
return;
}
@@ -11,11 +11,11 @@ dropin.create({ authorization: "", container: "my-div" }, (error, myDropin) => {
(async () => {
const myOptions: dropin.Options = {
authorization: "",
container: "my-div",
locale: "en-US",
authorization: '',
container: 'my-div',
locale: 'en-US',
translations: {},
paymentOptionPriority: ["card", "paypal", "paypalCredit", "venmo", "applePay"],
paymentOptionPriority: ['card', 'paypal', 'paypalCredit', 'venmo', 'applePay'],
card: {
cardholderName: {
required: false,
@@ -31,9 +31,9 @@ dropin.create({ authorization: "", container: "my-div" }, (error, myDropin) => {
},
},
paypal: {
flow: "checkout",
flow: 'checkout',
amount: 1,
currency: "USD",
currency: 'USD',
buttonStyle: {},
commit: false,
},
@@ -42,34 +42,34 @@ dropin.create({ authorization: "", container: "my-div" }, (error, myDropin) => {
allowNewBrowserTab: false,
},
applePay: {
buttonStyle: "white-outline",
displayName: "name",
buttonStyle: 'white-outline',
displayName: 'name',
applePaySessionVersion: 1,
paymentRequest: {
countryCode: "US",
currencyCode: "USD",
supportedNetworks: ["visa", "masterCard"],
merchantCapabilities: ["supports3DS"],
total: { label: "Your Label", amount: "10.00" },
countryCode: 'US',
currencyCode: 'USD',
supportedNetworks: ['visa', 'masterCard'],
merchantCapabilities: ['supports3DS'],
total: { label: 'Your Label', amount: '10.00' },
},
},
googlePay: {
merchantId: "",
googlePayVersion: "",
merchantId: '',
googlePayVersion: '',
transactionInfo: {
currencyCode: "USD",
totalPriceStatus: "FINAL",
totalPrice: "100.00",
currencyCode: 'USD',
totalPriceStatus: 'FINAL',
totalPrice: '100.00',
},
button: {
onClick: (event) => {}
onClick: event => {},
},
},
dataCollector: {
kount: false,
},
threeDSecure: {
amount: "1",
amount: '1',
},
vaultManager: false,
preselectVaultedPaymentMethod: false,
@@ -83,20 +83,20 @@ dropin.create({ authorization: "", container: "my-div" }, (error, myDropin) => {
return;
}
function onPaymentMethodRequestable({ type, paymentMethodIsSelected }: dropin.PaymentMethodRequestablePayload) {
const myType: "CreditCard" | "PayPalAccount" = type;
const myType: 'CreditCard' | 'PayPalAccount' = type;
const myBool: boolean = paymentMethodIsSelected;
}
function onPaymentOptionSelected({ paymentOption }: dropin.PaymentOptionSelectedPayload) {
const myPaymentOption: "card" | "paypal" | "paypalCredit" = paymentOption;
const myPaymentOption: 'card' | 'paypal' | 'paypalCredit' = paymentOption;
}
myDropin.on("noPaymentMethodRequestable", onNoPaymentMethodRequestable);
myDropin.on("paymentMethodRequestable", onPaymentMethodRequestable);
myDropin.on("paymentOptionSelected", onPaymentOptionSelected);
myDropin.on('noPaymentMethodRequestable', onNoPaymentMethodRequestable);
myDropin.on('paymentMethodRequestable', onPaymentMethodRequestable);
myDropin.on('paymentOptionSelected', onPaymentOptionSelected);
myDropin.off("noPaymentMethodRequestable", onNoPaymentMethodRequestable);
myDropin.off("paymentMethodRequestable", onPaymentMethodRequestable);
myDropin.off("paymentOptionSelected", onPaymentOptionSelected);
myDropin.off('noPaymentMethodRequestable', onNoPaymentMethodRequestable);
myDropin.off('paymentMethodRequestable', onPaymentMethodRequestable);
myDropin.off('paymentOptionSelected', onPaymentOptionSelected);
myDropin.requestPaymentMethod((error, payload) => {
if (error) {