@@ -20,13 +20,13 @@ import {
2020 PaymentMethodManager ,
2121 CustomerSessionManager ,
2222 PaymentIntentManager ,
23- determinePaymentMethodType ,
2423 retrieveSubscriptionItem ,
2524 TaxAddress ,
2625 PriceManager ,
2726 getSubplatInterval ,
2827 SetupIntentManager ,
2928 PromotionCodeError ,
29+ SubPlatPaymentMethodType ,
3030} from '@fxa/payments/customer' ;
3131import {
3232 EligibilityService ,
@@ -877,24 +877,35 @@ export class CartService {
877877 }
878878
879879 let paymentInfo : PaymentInfo | undefined ;
880- const paymentMethodType = determinePaymentMethodType (
880+ const paymentMethodType = await this . paymentMethodManager . determineType (
881881 customer ,
882882 subscriptions
883883 ) ;
884- if ( paymentMethodType ?. type === 'stripe' ) {
885- const paymentMethod = await this . paymentMethodManager . retrieve (
886- paymentMethodType . paymentMethodId
887- ) ;
888- paymentInfo = {
889- type : paymentMethod . type ,
890- last4 : paymentMethod . card ?. last4 ,
891- brand : paymentMethod . card ?. brand ,
892- customerSessionClientSecret : customerSession ?. client_secret ,
893- } ;
894- } else if ( paymentMethodType ?. type === 'external_paypal' ) {
895- paymentInfo = {
896- type : 'external_paypal' ,
897- } ;
884+
885+ switch ( paymentMethodType ?. type ) {
886+ case SubPlatPaymentMethodType . PayPal :
887+ paymentInfo = {
888+ type : 'external_paypal' ,
889+ } ;
890+ break ;
891+ case SubPlatPaymentMethodType . Link :
892+ case SubPlatPaymentMethodType . Card :
893+ case SubPlatPaymentMethodType . ApplePay :
894+ case SubPlatPaymentMethodType . GooglePay :
895+ case SubPlatPaymentMethodType . Stripe : {
896+ const paymentMethod = await this . paymentMethodManager . retrieve (
897+ paymentMethodType . paymentMethodId
898+ ) ;
899+ const walletType = paymentMethod . card ?. wallet ?. type ;
900+ paymentInfo = {
901+ type : paymentMethod . type ,
902+ last4 : paymentMethod . card ?. last4 ,
903+ brand : paymentMethod . card ?. brand ,
904+ customerSessionClientSecret : customerSession ?. client_secret ,
905+ ...( walletType ? { walletType } : { } ) ,
906+ } ;
907+ break ;
908+ }
898909 }
899910
900911 // Cart latest invoice data
0 commit comments