diff --git a/modules/ppcp-save-payment-methods/src/SavePaymentMethodsModule.php b/modules/ppcp-save-payment-methods/src/SavePaymentMethodsModule.php index 1e4f70d9e..3529247a2 100644 --- a/modules/ppcp-save-payment-methods/src/SavePaymentMethodsModule.php +++ b/modules/ppcp-save-payment-methods/src/SavePaymentMethodsModule.php @@ -106,8 +106,9 @@ class SavePaymentMethodsModule implements ModuleInterface { } if ( $payment_method === PayPalGateway::ID ) { + $funding_source = $request_data['funding_source'] ?? null; - if ( $request_data['funding_source'] === 'venmo' ) { + if ( $funding_source === 'venmo' ) { $data['payment_source'] = array( 'venmo' => array( 'attributes' => array( @@ -118,6 +119,20 @@ class SavePaymentMethodsModule implements ModuleInterface { ), ), ); + } else if ( $funding_source === 'apple_pay' ) { + $data['payment_source'] = array( + 'apple_pay' => array( + 'stored_credential' => array( + 'payment_initiator' => 'CUSTOMER', + 'payment_type' => 'RECURRING', + ), + 'attributes' => array( + 'vault' => array( + 'store_in_vault' => 'ON_SUCCESS', + ), + ), + ), + ); } else { $data['payment_source'] = array( 'paypal' => array(