From e1edff89ee0415c9feaf04f0c6a7556a439ac72a Mon Sep 17 00:00:00 2001 From: Alexandre Segura Date: Tue, 17 Sep 2024 11:26:30 +0200 Subject: [PATCH] Loop over payments. --- src/navigation/checkout/PaymentMethodEdenred.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/navigation/checkout/PaymentMethodEdenred.js b/src/navigation/checkout/PaymentMethodEdenred.js index c0a2c70d0..95de9680b 100644 --- a/src/navigation/checkout/PaymentMethodEdenred.js +++ b/src/navigation/checkout/PaymentMethodEdenred.js @@ -7,6 +7,7 @@ import 'react-native-get-random-values'; import { v4 as uuidv4 } from 'uuid'; import { useNavigation } from '@react-navigation/native'; import Config from 'react-native-config'; +import _ from 'lodash'; import { updateEdenredCredentials, loadPaymentDetails, @@ -42,16 +43,22 @@ const Edenred = ({ clientId, baseURL, cart, paymentDetailsLoaded, loadPaymentDet }, scopes: ['openid', 'edg-xp-mealdelivery-api', 'offline_access'], dangerouslyAllowInsecureHttpRequests: __DEV__, + useNonce: false, usePKCE: false, }).then(result => { updateEdenredCredentials(result.accessToken, result.refreshToken); }).catch(error => { - navigation.navigate('CheckoutCreditCard'); + console.log(error) + navigation.navigate('CheckoutPaymentMethodCard'); }); } }, [ baseURL, cart.hasEdenredCredentials, clientId, loadPaymentDetails, navigation, updateEdenredCredentials, authorizationEndpoint ]); - if (paymentDetailsLoaded && paymentDetails.breakdown) { + if (paymentDetailsLoaded && paymentDetails.payments.length === 2) { + + const cardPayment = _.find(paymentDetails.payments, p => p.method.code === 'CARD'); + const edenredPayment = _.find(paymentDetails.payments, p => p.method.code === 'EDENRED') + return ( @@ -62,18 +69,18 @@ const Edenred = ({ clientId, baseURL, cart, paymentDetailsLoaded, loadPaymentDet { t('EDENRED_ELIGIBLE_AMOUNT') } - { formatPrice(paymentDetails.breakdown.edenred) } + { formatPrice(edenredPayment.amount) } { t('EDENRED_COMPLEMENT') } - { formatPrice(paymentDetails.breakdown.card) } + { formatPrice(cardPayment.amount) } { const { cardholderName, savedCardSelected, saveCard } = values; checkout(cardholderName, savedCardSelected, saveCard);