Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
]).then(([ gql, payee ]) => {
const cart = gql.checkoutSession.cart;
const intent = (cart.intent.toLowerCase() === 'sale') ? INTENT.CAPTURE : cart.intent.toLowerCase();
const currency = cart.amounts && cart.amounts.total.currencyCode;
const expectedIntent = intent;
const expectedCurrency = currency;
if (intent !== expectedIntent) {
throw new Error(`Expected intent from order api call to be ${ expectedIntent }, got ${ intent }. Please ensure you are passing ${ SDK_QUERY_KEYS.INTENT }=${ intent } to the sdk`);
}
if (currency && currency !== expectedCurrency) {
throw new Error(`Expected currency from order api call to be ${ expectedCurrency }, got ${ currency }. Please ensure you are passing ${ SDK_QUERY_KEYS.CURRENCY }=${ currency } to the sdk`);
}
const payeeMerchantID = payee && payee.merchant && payee.merchant.id;
const actualMerchantID = merchantID && merchantID.length && merchantID[0];
if (!actualMerchantID) {
throw new Error(`Could not determine correct merchant id`);
}
if (!payeeMerchantID) {
throw new Error(`No payee found in transaction. Expected ${ actualMerchantID }`);
}
if (payeeMerchantID !== actualMerchantID) {
if (clientID && CLIENT_ID_PAYEE_NO_MATCH.indexOf(clientID) === -1) {
getLogger().info(`client_id_payee_no_match_${ clientID }`).flush();
export function getCurrency() : $Values {
return getSDKQueryParam(SDK_QUERY_KEYS.CURRENCY, DEFAULT_CURRENCY);
}
order.purchase_units = order.purchase_units.map(unit => {
if (unit.amount.currency_code && unit.amount.currency_code !== currency) {
throw new Error(`Unexpected currency: ${ unit.amount.currency_code } passed to order.create. Please ensure you are passing /sdk/js?${ SDK_QUERY_KEYS.CURRENCY }=${ unit.amount.currency_code } in the paypal script tag.`);
}
let payee = unit.payee;
if (payee) {
if (!merchantID) {
throw new Error(`Pass ${ SDK_QUERY_KEYS.MERCHANT_ID }=XYZ in the paypal script tag. Pass ${ SDK_QUERY_KEYS.MERCHANT_ID }=${ UNKNOWN } if you do not have access to the merchant id`);
}
if (payee.merchant_id && merchantID[0] !== UNKNOWN && payee.merchant_id !== merchantID) {
throw new Error(`Expected payee.merchant_id to be "${ merchantID[0] }"`);
}
}
if (merchantID && merchantID[0] !== UNKNOWN) {
payee = {
const cart = res.data.checkoutSession.cart;
const intent = (cart.intent.toLowerCase() === 'sale') ? INTENT.CAPTURE : cart.intent.toLowerCase();
const currency = cart.amounts && cart.amounts.total.currencyCode;
const returnUrl = cart.returnUrl && cart.returnUrl.href;
const cancelUrl = cart.cancelUrl && cart.cancelUrl.href;
const expectedIntent = window.xprops.intent;
const expectedCurrency = window.xprops.currency;
if (intent !== expectedIntent) {
throw new Error(`Expected intent from order api call to be ${ expectedIntent }, got ${ intent }. Please ensure you are passing ${ SDK_QUERY_KEYS.INTENT }=${ intent } to the sdk`);
}
if (currency && currency !== expectedCurrency) {
throw new Error(`Expected currency from order api call to be ${ expectedCurrency }, got ${ currency }. Please ensure you are passing ${ SDK_QUERY_KEYS.CURRENCY }=${ currency } to the sdk`);
}
if (isOrderID(orderID)) {
if (returnUrl && returnUrl.indexOf(ERROR_URL) !== 0) {
throw new Error(`Return url is forbidden for smart payment button integration.`);
}
if (cancelUrl && cancelUrl.indexOf(ERROR_URL) !== 0) {
throw new Error(`Cancel url is forbidden for smart payment button integration.`);
}
}
});
}
order.purchase_units = order.purchase_units.map(unit => {
if (unit.amount.currency_code && unit.amount.currency_code !== currency) {
throw new Error(`Unexpected currency: ${ unit.amount.currency_code } passed to order.create. Please ensure you are passing /sdk/js?${ SDK_QUERY_KEYS.CURRENCY }=${ unit.amount.currency_code } in the paypal script tag.`);
}
let payee = unit.payee;
if (payee && merchantID && merchantID.length) {
if (!merchantID[0]) {
throw new Error(`Pass ${ SDK_QUERY_KEYS.MERCHANT_ID }=XYZ in the paypal script tag.`);
}
if (payee.merchant_id && payee.merchant_id !== merchantID[0]) {
throw new Error(`Expected payee.merchant_id to be "${ merchantID[0] }"`);
}
}
if (merchantID) {
payee = {