Skip to content

Commit 52bbd2d

Browse files
authored
Replacing missing payment method constant values (#4018)
* Replacing missing payment method constant values * Code coverage action fix * Code coverage action fix * Code coverage action fix * Changelog and readme entries
1 parent a3c43ab commit 52bbd2d

9 files changed

+105
-99
lines changed

.github/workflows/php-code-coverage.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ on:
55
paths:
66
- '**.php'
77

8+
permissions:
9+
pull-requests: write
10+
811
jobs:
912
test:
1013
runs-on: ubuntu-22.04
@@ -64,6 +67,7 @@ jobs:
6467
- name: Add Coverage PR Comment
6568
uses: marocchino/sticky-pull-request-comment@v2
6669
with:
70+
number: ${{ github.event.number }}
6771
header: code-coverage
6872
recreate: true
6973
skip_unchanged: true

changelog.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
*** Changelog ***
22

33
= 9.3.0 - xxxx-xx-xx =
4+
* Dev - Additional replacements for payment method constant values on the backend.
45
* Fix - Improves the checking for existing customer attribute when retrieving a payment method that may be detached from a subscription.
56
* Fix - Reverts the default value for the `capture_method` property to avoid breaking Amazon Pay when creating a payment intent.
67
* Add - Adds a new feature flag to handle the Single Payment Element feature.

includes/class-wc-stripe-intent-controller.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -813,7 +813,7 @@ private function maybe_add_mandate_options( $request, $payment_method_type ) {
813813
// Add required mandate options for ACSS.
814814
if ( WC_Stripe_UPE_Payment_Method_ACSS::STRIPE_ID === $payment_method_type ) {
815815
$request['payment_method_options'] = [
816-
'acss_debit' => [
816+
WC_Stripe_Payment_Methods::ACSS_DEBIT => [
817817
'mandate_options' => [
818818
'payment_schedule' => 'interval',
819819
'interval_description' => __( 'One-time payment', 'woocommerce-gateway-stripe' ), // TODO: Change to cadence if purchasing a subscription.

includes/payment-methods/class-wc-stripe-upe-payment-gateway.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2214,7 +2214,7 @@ protected function prepare_payment_information_from_request( WC_Order $order ) {
22142214
'payment_type' => 'single', // single | recurring.
22152215
];
22162216

2217-
if ( 'us_bank_account' === $selected_payment_type ) {
2217+
if ( WC_Stripe_Payment_Methods::ACH === $selected_payment_type ) {
22182218
WC_Stripe_API::attach_payment_method_to_customer( $payment_information['customer'], $payment_method_id );
22192219
}
22202220

readme.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ If you get stuck, you can ask for help in the [Plugin Forum](https://wordpress.o
111111
== Changelog ==
112112

113113
= 9.3.0 - xxxx-xx-xx =
114+
* Dev - Additional replacements for payment method constant values on the backend.
114115
* Fix - Improves the checking for existing customer attribute when retrieving a payment method that may be detached from a subscription.
115116
* Fix - Reverts the default value for the `capture_method` property to avoid breaking Amazon Pay when creating a payment intent.
116117
* Add - Adds a new feature flag to handle the Single Payment Element feature.

tests/phpunit/admin/test-class-wc-rest-stripe-settings-controller-gb.php

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -88,21 +88,21 @@ public function set_up() {
8888

8989
public function test_get_settings_returns_available_payment_method_ids_for_gb() {
9090
$expected_method_ids = [
91-
'card',
92-
'alipay',
93-
'klarna',
94-
'afterpay_clearpay',
95-
'eps',
96-
'bancontact',
97-
'boleto',
98-
'ideal',
99-
'oxxo',
100-
'sepa_debit',
101-
'p24',
102-
'multibanco',
103-
'link',
104-
'wechat_pay',
105-
'bacs_debit',
91+
WC_Stripe_Payment_Methods::CARD,
92+
WC_Stripe_Payment_Methods::ALIPAY,
93+
WC_Stripe_Payment_Methods::KLARNA,
94+
WC_Stripe_Payment_Methods::AFTERPAY_CLEARPAY,
95+
WC_Stripe_Payment_Methods::EPS,
96+
WC_Stripe_Payment_Methods::BANCONTACT,
97+
WC_Stripe_Payment_Methods::BOLETO,
98+
WC_Stripe_Payment_Methods::IDEAL,
99+
WC_Stripe_Payment_Methods::OXXO,
100+
WC_Stripe_Payment_Methods::SEPA_DEBIT,
101+
WC_Stripe_Payment_Methods::P24,
102+
WC_Stripe_Payment_Methods::MULTIBANCO,
103+
WC_Stripe_Payment_Methods::LINK,
104+
WC_Stripe_Payment_Methods::WECHAT_PAY,
105+
WC_Stripe_Payment_Methods::BACS_DEBIT,
106106
];
107107

108108
$response = $this->rest_get_settings();
@@ -118,20 +118,20 @@ public function test_get_settings_returns_available_payment_method_ids_for_gb()
118118

119119
public function test_get_settings_returns_ordered_payment_method_ids_for_gb() {
120120
$expected_ordered_method_ids = [
121-
'card',
122-
'alipay',
123-
'klarna',
124-
'afterpay_clearpay',
125-
'eps',
126-
'bancontact',
127-
'boleto',
128-
'ideal',
129-
'oxxo',
130-
'sepa_debit',
131-
'p24',
132-
'multibanco',
133-
'wechat_pay',
134-
'bacs_debit',
121+
WC_Stripe_Payment_Methods::CARD,
122+
WC_Stripe_Payment_Methods::ALIPAY,
123+
WC_Stripe_Payment_Methods::KLARNA,
124+
WC_Stripe_Payment_Methods::AFTERPAY_CLEARPAY,
125+
WC_Stripe_Payment_Methods::EPS,
126+
WC_Stripe_Payment_Methods::BANCONTACT,
127+
WC_Stripe_Payment_Methods::BOLETO,
128+
WC_Stripe_Payment_Methods::IDEAL,
129+
WC_Stripe_Payment_Methods::OXXO,
130+
WC_Stripe_Payment_Methods::SEPA_DEBIT,
131+
WC_Stripe_Payment_Methods::P24,
132+
WC_Stripe_Payment_Methods::MULTIBANCO,
133+
WC_Stripe_Payment_Methods::WECHAT_PAY,
134+
WC_Stripe_Payment_Methods::BACS_DEBIT,
135135
];
136136

137137
$response = $this->rest_get_settings();

tests/phpunit/admin/test-class-wc-rest-stripe-settings-controller.php

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -235,23 +235,23 @@ public function test_get_settings_returns_available_payment_method_ids() {
235235
$response = $this->rest_get_settings();
236236

237237
$expected_method_ids = [
238-
'card',
239-
'us_bank_account',
240-
'alipay',
241-
'klarna',
242-
'affirm',
243-
'afterpay_clearpay',
244-
'eps',
245-
'bancontact',
246-
'boleto',
247-
'ideal',
248-
'oxxo',
249-
'sepa_debit',
250-
'p24',
251-
'multibanco',
238+
WC_Stripe_Payment_Methods::CARD,
239+
WC_Stripe_Payment_Methods::ACH,
240+
WC_Stripe_Payment_Methods::ALIPAY,
241+
WC_Stripe_Payment_Methods::KLARNA,
242+
WC_Stripe_Payment_Methods::AFFIRM,
243+
WC_Stripe_Payment_Methods::AFTERPAY_CLEARPAY,
244+
WC_Stripe_Payment_Methods::EPS,
245+
WC_Stripe_Payment_Methods::BANCONTACT,
246+
WC_Stripe_Payment_Methods::BOLETO,
247+
WC_Stripe_Payment_Methods::IDEAL,
248+
WC_Stripe_Payment_Methods::OXXO,
249+
WC_Stripe_Payment_Methods::SEPA_DEBIT,
250+
WC_Stripe_Payment_Methods::P24,
251+
WC_Stripe_Payment_Methods::MULTIBANCO,
252252
// 'link', // Link is excluded as it is a express method.
253-
'wechat_pay',
254-
'cashapp',
253+
WC_Stripe_Payment_Methods::WECHAT_PAY,
254+
WC_Stripe_Payment_Methods::CASHAPP_PAY,
255255
];
256256
$available_method_ids = $response->get_data()['available_payment_method_ids'];
257257

@@ -283,23 +283,23 @@ public function test_get_settings_returns_ordered_payment_method_ids() {
283283
WC_Stripe::get_instance()->account->method( 'get_account_country' )->willReturn( 'US' );
284284

285285
$expected_method_ids = [
286-
'card',
287-
'us_bank_account',
288-
'alipay',
289-
'klarna',
290-
'affirm',
291-
'afterpay_clearpay',
292-
'eps',
293-
'bancontact',
294-
'boleto',
295-
'ideal',
296-
'oxxo',
297-
'sepa_debit',
298-
'p24',
299-
'multibanco',
286+
WC_Stripe_Payment_Methods::CARD,
287+
WC_Stripe_Payment_Methods::ACH,
288+
WC_Stripe_Payment_Methods::ALIPAY,
289+
WC_Stripe_Payment_Methods::KLARNA,
290+
WC_Stripe_Payment_Methods::AFFIRM,
291+
WC_Stripe_Payment_Methods::AFTERPAY_CLEARPAY,
292+
WC_Stripe_Payment_Methods::EPS,
293+
WC_Stripe_Payment_Methods::BANCONTACT,
294+
WC_Stripe_Payment_Methods::BOLETO,
295+
WC_Stripe_Payment_Methods::IDEAL,
296+
WC_Stripe_Payment_Methods::OXXO,
297+
WC_Stripe_Payment_Methods::SEPA_DEBIT,
298+
WC_Stripe_Payment_Methods::P24,
299+
WC_Stripe_Payment_Methods::MULTIBANCO,
300300
// 'link', // Link is excluded as it is a express method.
301-
'wechat_pay',
302-
'cashapp',
301+
WC_Stripe_Payment_Methods::WECHAT_PAY,
302+
WC_Stripe_Payment_Methods::CASHAPP_PAY,
303303
];
304304

305305
$response = $this->rest_get_settings();

tests/phpunit/payment-methods/test-class-wc-stripe-upe-payment-method.php

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -271,20 +271,20 @@ public function test_payment_methods_show_correct_default_outputs() {
271271
'type' => WC_Stripe_Payment_Methods::ACSS_DEBIT,
272272
];
273273

274-
$card_method = $this->mock_payment_methods['card'];
275-
$alipay_method = $this->mock_payment_methods['alipay'];
276-
$p24_method = $this->mock_payment_methods['p24'];
277-
$eps_method = $this->mock_payment_methods['eps'];
278-
$sepa_method = $this->mock_payment_methods['sepa_debit'];
279-
$sofort_method = $this->mock_payment_methods['sofort'];
280-
$bancontact_method = $this->mock_payment_methods['bancontact'];
281-
$ideal_method = $this->mock_payment_methods['ideal'];
282-
$multibanco_method = $this->mock_payment_methods['multibanco'];
283-
$boleto_method = $this->mock_payment_methods['boleto'];
284-
$oxxo_method = $this->mock_payment_methods['oxxo'];
285-
$wechat_pay_method = $this->mock_payment_methods['wechat_pay'];
286-
$ach_method = $this->mock_payment_methods['us_bank_account'];
287-
$acss_method = $this->mock_payment_methods['acss_debit'];
274+
$card_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::CARD ];
275+
$alipay_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::ALIPAY ];
276+
$p24_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::P24 ];
277+
$eps_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::EPS ];
278+
$sepa_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::SEPA_DEBIT ];
279+
$sofort_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::SOFORT ];
280+
$bancontact_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::BANCONTACT ];
281+
$ideal_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::IDEAL ];
282+
$multibanco_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::MULTIBANCO ];
283+
$boleto_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::BOLETO ];
284+
$oxxo_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::OXXO ];
285+
$wechat_pay_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::WECHAT_PAY ];
286+
$ach_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::ACH ];
287+
$acss_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::ACSS_DEBIT ];
288288

289289
$this->assertEquals( WC_Stripe_Payment_Methods::CARD, $card_method->get_id() );
290290
$this->assertEquals( 'Credit / Debit Card', $card_method->get_label() );
@@ -416,22 +416,22 @@ public function test_card_payment_method_capability_is_always_enabled() {
416416
$stripe_settings['testmode'] = 'no';
417417
WC_Stripe_Helper::update_main_stripe_settings( $stripe_settings );
418418

419-
$card_method = $this->mock_payment_methods['card'];
420-
$klarna_method = $this->mock_payment_methods['klarna'];
421-
$afterpay_clearpay_method = $this->mock_payment_methods['afterpay_clearpay'];
422-
$affirm_method = $this->mock_payment_methods['affirm'];
423-
$p24_method = $this->mock_payment_methods['p24'];
424-
$eps_method = $this->mock_payment_methods['eps'];
425-
$sepa_method = $this->mock_payment_methods['sepa_debit'];
426-
$sofort_method = $this->mock_payment_methods['sofort'];
427-
$bancontact_method = $this->mock_payment_methods['bancontact'];
428-
$ideal_method = $this->mock_payment_methods['ideal'];
429-
$boleto_method = $this->mock_payment_methods['boleto'];
430-
$multibanco_method = $this->mock_payment_methods['multibanco'];
431-
$oxxo_method = $this->mock_payment_methods['oxxo'];
432-
$wechat_pay_method = $this->mock_payment_methods['wechat_pay'];
433-
$ach_method = $this->mock_payment_methods['us_bank_account'];
434-
$acss_method = $this->mock_payment_methods['acss_debit'];
419+
$card_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::CARD ];
420+
$klarna_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::KLARNA ];
421+
$afterpay_clearpay_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::AFTERPAY_CLEARPAY ];
422+
$affirm_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::AFFIRM ];
423+
$p24_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::P24 ];
424+
$eps_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::EPS ];
425+
$sepa_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::SEPA_DEBIT ];
426+
$sofort_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::SOFORT ];
427+
$bancontact_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::BANCONTACT ];
428+
$ideal_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::IDEAL ];
429+
$boleto_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::BOLETO ];
430+
$multibanco_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::MULTIBANCO ];
431+
$oxxo_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::OXXO ];
432+
$wechat_pay_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::WECHAT_PAY ];
433+
$ach_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::ACH ];
434+
$acss_method = $this->mock_payment_methods[ WC_Stripe_Payment_Methods::ACSS_DEBIT ];
435435

436436
$this->assertTrue( $card_method->is_enabled_at_checkout() );
437437
$this->assertFalse( $klarna_method->is_enabled_at_checkout() );

tests/phpunit/payment-tokens/test-class-wc-stripe-bacs-payment-token.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ public function test_set_and_get_fingerprint() {
7575
public function test_is_equal_payment_method_returns_true_on_valid_object() {
7676
$this->token->set_fingerprint( 'test_fp_123' );
7777
$payment_method_mock = (object) [
78-
'type' => WC_Stripe_Payment_Methods::BACS_DEBIT,
79-
'bacs_debit' => (object) [
78+
'type' => WC_Stripe_Payment_Methods::BACS_DEBIT,
79+
WC_Stripe_Payment_Methods::BACS_DEBIT => (object) [
8080
'fingerprint' => 'test_fp_123',
8181
'last4' => '9999',
8282
],
@@ -94,8 +94,8 @@ public function test_is_equal_payment_method_returns_true_on_valid_object() {
9494
public function test_is_equal_payment_method_returns_false_mismatched_type() {
9595
$this->token->set_fingerprint( 'test_fp_abc' );
9696
$payment_method_mock = (object) [
97-
'type' => 'card', // This is not bacs_debit
98-
'bacs_debit' => (object) [
97+
'type' => 'card', // This is not bacs_debit
98+
WC_Stripe_Payment_Methods::BACS_DEBIT => (object) [
9999
'fingerprint' => 'test_fp_abc',
100100
],
101101
];
@@ -112,8 +112,8 @@ public function test_is_equal_payment_method_returns_false_mismatched_type() {
112112
public function test_is_equal_payment_method_returns_false_mismatched_fingerprint() {
113113
$this->token->set_fingerprint( 'test_fp_123' );
114114
$payment_method_mock = (object) [
115-
'type' => WC_Stripe_Payment_Methods::BACS_DEBIT,
116-
'bacs_debit' => (object) [
115+
'type' => WC_Stripe_Payment_Methods::BACS_DEBIT,
116+
WC_Stripe_Payment_Methods::BACS_DEBIT => (object) [
117117
'fingerprint' => 'different_fp',
118118
],
119119
];

0 commit comments

Comments
 (0)