Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
fad88d6
Introducing a Stripe order helper class
wjrosa Aug 21, 2025
2ff8bac
Order meta keys as constants
wjrosa Aug 21, 2025
2f73d5e
Adding deprecation annotation
wjrosa Aug 21, 2025
2d376f5
Additional methods
wjrosa Aug 21, 2025
ce7f7ff
Replacing occurrences
wjrosa Aug 21, 2025
c8a4fa8
Unit test class
wjrosa Aug 21, 2025
ac3638b
Including class
wjrosa Aug 21, 2025
603aeab
Tests update
wjrosa Aug 21, 2025
1bf7c57
Tests update
wjrosa Aug 21, 2025
c68f45b
Replace meta key reference
wjrosa Aug 21, 2025
a754c88
Changelog and readme entries
wjrosa Aug 21, 2025
5748edc
Fix test class name
wjrosa Aug 21, 2025
bd49443
Fix test class name
wjrosa Aug 21, 2025
bff2519
validate_minimum_order_amount
wjrosa Aug 21, 2025
3875e7c
Fix tests
wjrosa Aug 22, 2025
a29267f
Order lock updates
wjrosa Aug 22, 2025
29abdf3
Order lock updates
wjrosa Aug 22, 2025
c38e781
Order lock updates
wjrosa Aug 22, 2025
8fe231c
Payment awaiting action methods
wjrosa Aug 22, 2025
e4844ee
Fix tests
wjrosa Aug 22, 2025
a9ceb2a
Merge branch 'develop' into dev/order-helper-class
wjrosa Sep 15, 2025
d750e3b
Revert unnecessary changes
wjrosa Sep 15, 2025
d69d56c
Revert unnecessary changes
wjrosa Sep 15, 2025
df37c49
Fix merge
wjrosa Sep 15, 2025
67c79d6
Update deprecated comments
wjrosa Sep 15, 2025
e7b670e
Merge branch 'develop' into dev/order-helper-class
wjrosa Sep 17, 2025
fa19b8e
Update includes/abstracts/abstract-wc-stripe-payment-gateway.php
wjrosa Sep 17, 2025
26df456
Update includes/class-wc-stripe-order-helper.php
wjrosa Sep 17, 2025
a222bca
Update includes/class-wc-stripe-order-helper.php
wjrosa Sep 17, 2025
cfe10bb
Update includes/class-wc-stripe-order-helper.php
wjrosa Sep 17, 2025
357fa89
Removing invalid tests
wjrosa Sep 17, 2025
297762c
Revert invalid method calls
wjrosa Sep 17, 2025
0ffe7b3
Update @since comment
wjrosa Sep 17, 2025
b636c2b
Update includes/class-wc-stripe-order-helper.php
wjrosa Sep 17, 2025
cf2c42d
Update includes/class-wc-stripe-order-helper.php
wjrosa Sep 17, 2025
655c2f9
Removing unused order lock param
wjrosa Sep 17, 2025
66bd3f3
Minor improvements to the refund lock code
wjrosa Sep 17, 2025
cf2546c
Adding typed params and return values + singleton pattern
wjrosa Sep 18, 2025
fd604fb
Implementing the new singleton pattern
wjrosa Sep 18, 2025
f5d10a8
Fix tests
wjrosa Sep 18, 2025
ba27b2b
Adding missing type declarations to constants
wjrosa Sep 18, 2025
9706579
Fix static implementations
wjrosa Sep 18, 2025
2aeebbd
Fix wrong lock method call
wjrosa Sep 18, 2025
9ed95f5
Merge branch 'develop' into dev/order-helper-class
wjrosa Sep 18, 2025
463fd2a
Fix static implementations
wjrosa Sep 18, 2025
7670d31
Fix static implementations
wjrosa Sep 18, 2025
305e0cb
Fix tests
wjrosa Sep 18, 2025
8d1a722
Fix remaining static calls
wjrosa Sep 18, 2025
a871fdf
Fix tests
wjrosa Sep 18, 2025
fb5c599
Fix tests
wjrosa Sep 18, 2025
7dd4763
Fix tests
wjrosa Sep 18, 2025
1dfe73e
Merge branch 'develop' into dev/order-helper-class
wjrosa Sep 18, 2025
1726d81
Merge branch 'develop' into dev/order-helper-class
wjrosa Sep 23, 2025
1f9feae
Handling source ID meta in the order helper
wjrosa Sep 23, 2025
bac9ef1
Merge branch 'develop' into dev/handling-source-id-meta
wjrosa Sep 23, 2025
8b5bbac
Handling payment intent, setup intent and refund
wjrosa Sep 23, 2025
d3797fa
Unit tests
wjrosa Sep 23, 2025
e942cb5
Changelog and readme entries
wjrosa Sep 23, 2025
e3631f3
Merge branch 'develop' into dev/handling-source-id-meta
wjrosa Sep 26, 2025
206be4f
Changelog and readme entries
wjrosa Sep 26, 2025
c095e96
Merge branch 'dev/handling-source-id-meta' of https://github.com/wooc…
wjrosa Sep 26, 2025
f683c88
Fix tests
wjrosa Sep 26, 2025
5511198
Fix changelog and readme entries
wjrosa Sep 26, 2025
a63d493
Minor test improvement
wjrosa Sep 26, 2025
a11bbcd
Handling more Stripe metas with the order helper class
wjrosa Sep 29, 2025
8d73d51
Card ID meta
wjrosa Sep 29, 2025
b264be3
UPE payment type
wjrosa Sep 29, 2025
91956e6
UPE waiting for redirect
wjrosa Sep 29, 2025
1906189
UPE redirect processed
wjrosa Sep 29, 2025
fb3a512
Merge branch 'develop' into dev/handling-more-stripe-order-metas
wjrosa Oct 1, 2025
bc8a456
Fix tests
wjrosa Oct 1, 2025
ffef3da
Fix method implementation + remove unused method
wjrosa Oct 1, 2025
5ddc294
Changelog and readme entries
wjrosa Oct 1, 2025
7853153
Merge branch 'develop' into dev/handling-more-stripe-order-metas
wjrosa Oct 6, 2025
e56b0cc
Merge branch 'develop' into dev/handling-more-stripe-order-metas
daledupreez Oct 7, 2025
265d63a
Merge branch 'develop' into dev/handling-more-stripe-order-metas
wjrosa Oct 8, 2025
368a34f
Update includes/class-wc-stripe-order-helper.php
wjrosa Oct 8, 2025
c77fab6
Fix implementation after method renaming + renaming the card_id metho…
wjrosa Oct 8, 2025
8f8960e
Update includes/class-wc-stripe-order-helper.php
wjrosa Oct 8, 2025
10125f0
Changing null check
wjrosa Oct 8, 2025
aff3db9
New protected method to handle meta update
wjrosa Oct 8, 2025
29b7ab8
Renaming Order Helper methods to append _id
wjrosa Oct 8, 2025
1b18de3
Changelog and readme entries
wjrosa Oct 8, 2025
3f46ddc
Merge branch 'develop' into dev/renaming-order-helper-methods-to-appe…
wjrosa Oct 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
*** Changelog ***

= 10.1.0 - xxxx-xx-xx =
* Dev - Renames previous Order Helper class methods to use the `_id` suffix
* Dev - Expands the Stripe Order Helper class to handle customer ID, card ID, UPE payment type, and UPE redirect status metas

= 10.0.0 - 2025-10-14 =
Expand Down
16 changes: 8 additions & 8 deletions includes/abstracts/abstract-wc-stripe-payment-gateway.php
Original file line number Diff line number Diff line change
Expand Up @@ -1021,14 +1021,14 @@ public function prepare_order_source( $order = null ) {
}

$order_helper = WC_Stripe_Order_Helper::get_instance();
$source_id = $order_helper->get_stripe_source( $order );
$source_id = $order_helper->get_stripe_source_id( $order );

// Since 4.0.0, we changed card to source so we need to account for that.
if ( empty( $source_id ) ) {
$source_id = $order_helper->get_stripe_card_id( $order );

// Take this opportunity to update the key name.
$order_helper->update_stripe_source( $order, $source_id );
$order_helper->update_stripe_source_id( $order, $source_id );

if ( is_callable( [ $order, 'save' ] ) ) {
$order->save();
Expand Down Expand Up @@ -1087,7 +1087,7 @@ public function save_source_to_order( $order, $source ) {
}

if ( $source->source ) {
$order_helper->update_stripe_source( $order, $source->source );
$order_helper->update_stripe_source_id( $order, $source->source );
}

if ( is_callable( [ $order, 'save' ] ) ) {
Expand Down Expand Up @@ -1281,7 +1281,7 @@ public function process_refund( $order_id, $amount = null, $reason = '' ) {
}
}

$order_helper->update_stripe_refund( $order, $response->id );
$order_helper->update_stripe_refund_id( $order, $response->id );

if ( isset( $response->balance_transaction ) ) {
$this->update_fees( $order, $response->balance_transaction );
Expand Down Expand Up @@ -1704,7 +1704,7 @@ public function save_intent_to_order( $order, $intent ) {
$order->update_meta_data( '_stripe_mandate_id', $charge->payment_method_details->acss_debit->mandate );
}
} elseif ( 'setup_intent' === $intent->object ) {
$order_helper->update_stripe_setup_intent( $order, $intent->id );
$order_helper->update_stripe_setup_intent_id( $order, $intent->id );

// Add mandate for free trial subscriptions.
if ( isset( $intent->mandate ) ) {
Expand All @@ -1726,13 +1726,13 @@ public function save_intent_to_order( $order, $intent ) {
*/
public function get_intent_from_order( $order ) {
$order_helper = WC_Stripe_Order_Helper::get_instance();
$intent_id = $order_helper->get_stripe_intent( $order );
$intent_id = $order_helper->get_stripe_intent_id( $order );
if ( $intent_id ) {
return $this->get_intent( 'payment_intents', $intent_id );
}

// The order doesn't have a payment intent, but it may have a setup intent.
$intent_id = $order_helper->get_stripe_setup_intent( $order );
$intent_id = $order_helper->get_stripe_setup_intent_id( $order );
if ( $intent_id ) {
return $this->get_intent( 'setup_intents', $intent_id );
}
Expand Down Expand Up @@ -1921,7 +1921,7 @@ public function setup_intent( $order, $prepared_source ) {
if ( is_wp_error( $setup_intent ) ) {
WC_Stripe_Logger::log( "Unable to create SetupIntent for Order #$order_id: " . print_r( $setup_intent, true ) );
} elseif ( WC_Stripe_Intent_Status::REQUIRES_ACTION === $setup_intent->status ) {
WC_Stripe_Order_Helper::get_instance()->update_stripe_setup_intent( $order, $setup_intent->id );
WC_Stripe_Order_Helper::get_instance()->update_stripe_setup_intent_id( $order, $setup_intent->id );
$order->save();

return $setup_intent->client_secret;
Expand Down
14 changes: 7 additions & 7 deletions includes/admin/class-wc-stripe-privacy.php
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ public function order_data_exporter( $email_address, $page = 1 ) {
'data' => [
[
'name' => __( 'Stripe payment id', 'woocommerce-gateway-stripe' ),
'value' => $order_helper->get_stripe_source( $order ),
'value' => $order_helper->get_stripe_source_id( $order ),
],
[
'name' => __( 'Stripe customer id', 'woocommerce-gateway-stripe' ),
Expand Down Expand Up @@ -367,8 +367,8 @@ protected function maybe_handle_subscription( $order ) {
$renewal_orders = class_exists( 'WC_Subscriptions_Renewal_Order' ) ? WC_Subscriptions_Renewal_Order::get_renewal_orders( $order->get_id(), 'WC_Order' ) : [];
foreach ( $renewal_orders as $renewal_order ) {
$order_helper = WC_Stripe_Order_Helper::get_instance();
$order_helper->delete_stripe_source( $renewal_order );
$order_helper->delete_stripe_refund( $renewal_order );
$order_helper->delete_stripe_source_id( $renewal_order );
$order_helper->delete_stripe_refund_id( $renewal_order );
$order_helper->delete_stripe_customer_id( $renewal_order );
}

Expand All @@ -387,8 +387,8 @@ protected function maybe_handle_subscription( $order ) {
*/
protected function maybe_handle_order( $order ) {
$order_helper = WC_Stripe_Order_Helper::get_instance();
$stripe_source_id = $order_helper->get_stripe_source( $order );
$stripe_refund_id = $order_helper->get_stripe_refund( $order );
$stripe_source_id = $order_helper->get_stripe_source_id( $order );
$stripe_refund_id = $order_helper->get_stripe_refund_id( $order );
$stripe_customer_id = $order_helper->get_stripe_customer_id( $order );

if ( ! $this->is_retention_expired( $order->get_date_created()->getTimestamp() ) ) {
Expand All @@ -400,8 +400,8 @@ protected function maybe_handle_order( $order ) {
return [ false, false, [] ];
}

$order_helper->delete_stripe_source( $order );
$order_helper->delete_stripe_refund( $order );
$order_helper->delete_stripe_source_id( $order );
$order_helper->delete_stripe_refund_id( $order );
$order_helper->delete_stripe_customer_id( $order );

return [ true, false, [ __( 'Stripe personal data erased.', 'woocommerce-gateway-stripe' ) ] ];
Expand Down
8 changes: 4 additions & 4 deletions includes/class-wc-stripe-helper.php
Original file line number Diff line number Diff line change
Expand Up @@ -1305,7 +1305,7 @@ private static function should_load_scripts_for_prb_location( $location ) {
*/
public static function add_payment_intent_to_order( $payment_intent_id, $order ) {
$order_helper = WC_Stripe_Order_Helper::get_instance();
$old_intent_id = $order_helper->get_stripe_intent( $order );
$old_intent_id = $order_helper->get_stripe_intent_id( $order );
if ( $old_intent_id === $payment_intent_id ) {
return;
}
Expand All @@ -1318,7 +1318,7 @@ public static function add_payment_intent_to_order( $payment_intent_id, $order )
)
);

$order_helper->update_stripe_intent( $order, $payment_intent_id );
$order_helper->update_stripe_intent_id( $order, $payment_intent_id );
$order->save();
}

Expand Down Expand Up @@ -1421,9 +1421,9 @@ public static function get_payment_method_from_intent( $intent ) {
*/
public static function get_intent_id_from_order( $order ) {
$order_helper = WC_Stripe_Order_Helper::get_instance();
$intent_id = $order_helper->get_stripe_intent( $order );
$intent_id = $order_helper->get_stripe_intent_id( $order );
if ( ! $intent_id ) {
$intent_id = $order_helper->get_stripe_setup_intent( $order );
$intent_id = $order_helper->get_stripe_setup_intent_id( $order );
}

return $intent_id ?? false;
Expand Down
2 changes: 1 addition & 1 deletion includes/class-wc-stripe-intent-controller.php
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ public function verify_intent() {
}

// Validate the intent being verified.
$order_intent_id = WC_Stripe_Order_Helper::get_instance()->get_stripe_intent( $order );
$order_intent_id = WC_Stripe_Order_Helper::get_instance()->get_stripe_intent_id( $order );
if ( ! $order_intent_id || ! isset( $_GET['intent_id'] ) || $order_intent_id !== $_GET['intent_id'] ) {
throw new WC_Stripe_Exception( 'invalid_intent', __( "We're not able to process this payment. Please try again later.", 'woocommerce-gateway-stripe' ) );
}
Expand Down
22 changes: 11 additions & 11 deletions includes/class-wc-stripe-order-helper.php
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ public function delete_stripe_net( ?WC_Order $order = null ) {
* @param WC_Order|null $order
* @return false|string|null
*/
public function get_stripe_source( ?WC_Order $order = null ) {
public function get_stripe_source_id( ?WC_Order $order = null ) {
if ( is_null( $order ) ) {
return false;
}
Expand All @@ -308,7 +308,7 @@ public function get_stripe_source( ?WC_Order $order = null ) {
* @param string $source_id
* @return false|void
*/
public function update_stripe_source( ?WC_Order $order = null, string $source_id = '' ) {
public function update_stripe_source_id( ?WC_Order $order = null, string $source_id = '' ) {
return $this->update_order_meta( $order, self::META_STRIPE_SOURCE_ID, $source_id );
}

Expand All @@ -320,7 +320,7 @@ public function update_stripe_source( ?WC_Order $order = null, string $source_id
* @param WC_Order|null $order
* @return false|void
*/
public function delete_stripe_source( ?WC_Order $order = null ) {
public function delete_stripe_source_id( ?WC_Order $order = null ) {
return $this->delete_order_meta( $order, self::META_STRIPE_SOURCE_ID );
}

Expand All @@ -332,7 +332,7 @@ public function delete_stripe_source( ?WC_Order $order = null ) {
* @param WC_Order|null $order
* @return false|string|null
*/
public function get_stripe_refund( ?WC_Order $order = null ) {
public function get_stripe_refund_id( ?WC_Order $order = null ) {
if ( is_null( $order ) ) {
return false;
}
Expand All @@ -349,7 +349,7 @@ public function get_stripe_refund( ?WC_Order $order = null ) {
* @param string $refund_id
* @return false|void
*/
public function update_stripe_refund( ?WC_Order $order = null, string $refund_id = '' ) {
public function update_stripe_refund_id( ?WC_Order $order = null, string $refund_id = '' ) {
return $this->update_order_meta( $order, self::META_STRIPE_REFUND_ID, $refund_id );
}

Expand All @@ -361,7 +361,7 @@ public function update_stripe_refund( ?WC_Order $order = null, string $refund_id
* @param WC_Order|null $order
* @return false|void
*/
public function delete_stripe_refund( ?WC_Order $order = null ) {
public function delete_stripe_refund_id( ?WC_Order $order = null ) {
return $this->delete_order_meta( $order, self::META_STRIPE_REFUND_ID );
}

Expand All @@ -373,7 +373,7 @@ public function delete_stripe_refund( ?WC_Order $order = null ) {
* @param WC_Order|null $order
* @return false|string|null
*/
public function get_stripe_intent( ?WC_Order $order = null ) {
public function get_stripe_intent_id( ?WC_Order $order = null ) {
if ( is_null( $order ) ) {
return false;
}
Expand All @@ -390,7 +390,7 @@ public function get_stripe_intent( ?WC_Order $order = null ) {
* @param string $intent_id
* @return false|void
*/
public function update_stripe_intent( ?WC_Order $order = null, string $intent_id = '' ) {
public function update_stripe_intent_id( ?WC_Order $order = null, string $intent_id = '' ) {
return $this->update_order_meta( $order, self::META_STRIPE_INTENT_ID, $intent_id );
}

Expand All @@ -402,7 +402,7 @@ public function update_stripe_intent( ?WC_Order $order = null, string $intent_id
* @param WC_Order|null $order
* @return false|void
*/
public function delete_stripe_intent( ?WC_Order $order = null ) {
public function delete_stripe_intent_id( ?WC_Order $order = null ) {
return $this->delete_order_meta( $order, self::META_STRIPE_INTENT_ID );
}

Expand All @@ -414,7 +414,7 @@ public function delete_stripe_intent( ?WC_Order $order = null ) {
* @param WC_Order|null $order
* @return false|string|null
*/
public function get_stripe_setup_intent( ?WC_Order $order = null ) {
public function get_stripe_setup_intent_id( ?WC_Order $order = null ) {
if ( is_null( $order ) ) {
return false;
}
Expand All @@ -431,7 +431,7 @@ public function get_stripe_setup_intent( ?WC_Order $order = null ) {
* @param string $intent_id
* @return false|void
*/
public function update_stripe_setup_intent( ?WC_Order $order = null, string $intent_id = '' ) {
public function update_stripe_setup_intent_id( ?WC_Order $order = null, string $intent_id = '' ) {
return $this->update_order_meta( $order, self::META_STRIPE_SETUP_INTENT, $intent_id );
}

Expand Down
6 changes: 3 additions & 3 deletions includes/class-wc-stripe-webhook-handler.php
Original file line number Diff line number Diff line change
Expand Up @@ -742,7 +742,7 @@ public function process_webhook_refund( $notification ) {
if ( $order_helper->is_stripe_gateway_order( $order ) ) {
$charge = $order->get_transaction_id();
$captured = $order->get_meta( '_stripe_charge_captured' );
$refund_id = $order_helper->get_stripe_refund( $order );
$refund_id = $order_helper->get_stripe_refund_id( $order );
$currency = $order->get_currency();
$raw_amount = $refund_object->amount;

Expand Down Expand Up @@ -792,7 +792,7 @@ public function process_webhook_refund( $notification ) {
WC_Stripe_Logger::log( $refund->get_error_message() );
}

$order_helper->update_stripe_refund( $order, $refund_object->id );
$order_helper->update_stripe_refund_id( $order, $refund_object->id );

if ( isset( $refund_object->balance_transaction ) ) {
$this->update_fees( $order, $refund_object->balance_transaction );
Expand Down Expand Up @@ -827,7 +827,7 @@ public function process_webhook_refund_updated( $notification ) {
$order_helper = WC_Stripe_Order_Helper::get_instance();
if ( $order_helper->is_stripe_gateway_order( $order ) ) {
$charge = $order->get_transaction_id();
$refund_id = $order_helper->get_stripe_refund( $order );
$refund_id = $order_helper->get_stripe_refund_id( $order );
$currency = $order->get_currency();
$raw_amount = $refund_object->amount;

Expand Down
2 changes: 1 addition & 1 deletion includes/compat/trait-wc-stripe-pre-orders.php
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ class_exists( 'WC_Pre_Orders_Order' ) &&
*/
public function remove_order_source_before_retry( $order ) {
$order_helper = WC_Stripe_Order_Helper::get_instance();
$order_helper->delete_stripe_source( $order );
$order_helper->delete_stripe_source_id( $order );
$order_helper->delete_stripe_card_id( $order );
$order->save();
}
Expand Down
14 changes: 7 additions & 7 deletions includes/compat/trait-wc-stripe-subscriptions.php
Original file line number Diff line number Diff line change
Expand Up @@ -644,13 +644,13 @@ public function maybe_update_source_on_subscription_order( $order, $source, $pay
*/
public function delete_resubscribe_meta( $resubscribe_order ) {
$order_helper = WC_Stripe_Order_Helper::get_instance();
$order_helper->delete_stripe_source( $resubscribe_order );
$order_helper->delete_stripe_source_id( $resubscribe_order );

$order_helper->delete_stripe_customer_id( $resubscribe_order );
// For BW compat will remove in future.
$order_helper->delete_stripe_card_id( $resubscribe_order );
// Delete payment intent ID.
$order_helper->delete_stripe_intent( $resubscribe_order );
$order_helper->delete_stripe_intent_id( $resubscribe_order );
$this->delete_renewal_meta( $resubscribe_order );
$resubscribe_order->save();
}
Expand All @@ -666,7 +666,7 @@ public function delete_renewal_meta( $renewal_order ) {
$order_helper->delete_stripe_net( $renewal_order );

// Delete payment intent ID.
$order_helper->delete_stripe_intent( $renewal_order );
$order_helper->delete_stripe_intent_id( $renewal_order );

return $renewal_order;
}
Expand All @@ -682,7 +682,7 @@ public function delete_renewal_meta( $renewal_order ) {
public function update_failing_payment_method( $subscription, $renewal_order ) {
$order_helper = WC_Stripe_Order_Helper::get_instance();
$subscription->update_meta_data( '_stripe_customer_id', $order_helper->get_stripe_customer_id( $renewal_order ) );
$subscription->update_meta_data( '_stripe_source_id', $order_helper->get_stripe_source( $renewal_order ) );
$subscription->update_meta_data( '_stripe_source_id', $order_helper->get_stripe_source_id( $renewal_order ) );
$subscription->save();
}

Expand Down Expand Up @@ -848,7 +848,7 @@ private function get_mandate_for_subscription( $order, $payment_method ) {
}

$mandate = $renewal_order->get_meta( '_stripe_mandate_id', true );
$renewal_order_payment_method = WC_Stripe_Order_Helper::get_instance()->get_stripe_source( $renewal_order );
$renewal_order_payment_method = WC_Stripe_Order_Helper::get_instance()->get_stripe_source_id( $renewal_order );

// Return from the most recent renewal order with a valid mandate. Mandate is created against a payment method
// in Stripe so the payment method should also match to reuse the mandate.
Expand Down Expand Up @@ -1012,14 +1012,14 @@ public function maybe_render_subscription_payment_method( $payment_method_to_dis
$order_helper = WC_Stripe_Order_Helper::get_instance();
$parent_order = wc_get_order( $subscription->get_parent_id() );
$stripe_customer_id = $order_helper->get_stripe_customer_id( $parent_order );
$stripe_source_id = $order_helper->get_stripe_source( $parent_order );
$stripe_source_id = $order_helper->get_stripe_source_id( $parent_order );

// For BW compat will remove in future.
if ( empty( $stripe_source_id ) ) {
$stripe_source_id = $order_helper->get_stripe_card_id( $parent_order );

// Take this opportunity to update the key name.
$order_helper->update_stripe_source( $parent_order, $stripe_source_id );
$order_helper->update_stripe_source_id( $parent_order, $stripe_source_id );
$parent_order->save();
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1819,7 +1819,7 @@ public function save_payment_method_to_order( $order, $payment_method ) {
}

// Save the payment method id as `source_id`, because we use both `sources` and `payment_methods` APIs.
$order_helper->update_stripe_source( $order, $payment_method->payment_method );
$order_helper->update_stripe_source_id( $order, $payment_method->payment_method );

if ( is_callable( [ $order, 'save' ] ) ) {
$order->save();
Expand Down Expand Up @@ -2892,7 +2892,7 @@ protected function handle_saving_payment_method( WC_Order $order, $payment_metho
*/
public function set_payment_method_id_for_order( WC_Order $order, string $payment_method_id ) {
// Save the payment method id as `source_id`, because we use both `sources` and `payment_methods` APIs.
WC_Stripe_Order_Helper::get_instance()->update_stripe_source( $order, $payment_method_id );
WC_Stripe_Order_Helper::get_instance()->update_stripe_source_id( $order, $payment_method_id );
$order->save_meta_data();
}

Expand Down
1 change: 1 addition & 0 deletions readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ If you get stuck, you can ask for help in the [Plugin Forum](https://wordpress.o
== Changelog ==

= 10.1.0 - xxxx-xx-xx =
* Dev - Renames previous Order Helper class methods to use the `_id` suffix
* Dev - Expands the Stripe Order Helper class to handle customer ID, card ID, UPE payment type, and UPE redirect status metas

[See changelog for full details across versions](https://raw.githubusercontent.com/woocommerce/woocommerce-gateway-stripe/trunk/changelog.txt).
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ public function test_capture_payment_success() {
$this->assertEquals( 200, $response->get_status() );
$this->assertEquals( 'succeeded', $response->get_data()['status'] );
$this->assertEquals( 'ch_12345', $response->get_data()['id'] );
$this->assertEquals( 'pi_12345', WC_Stripe_Order_Helper::get_instance()->get_stripe_intent( $order ) );
$this->assertEquals( 'pi_12345', WC_Stripe_Order_Helper::get_instance()->get_stripe_intent_id( $order ) );

remove_filter( 'pre_http_request', $test_request, 10, 3 );
}
Expand Down
2 changes: 1 addition & 1 deletion tests/phpunit/Admin/WC_Stripe_Settings_Controller_Test.php
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ public function test_add_buttons_action_is_called_on_order_admin_page() {
$order = WC_Helper_Order::create_order();

$intent_id = 'pi_mock';
WC_Stripe_Order_Helper::get_instance()->update_stripe_intent( $order, $intent_id );
WC_Stripe_Order_Helper::get_instance()->update_stripe_intent_id( $order, $intent_id );
$order->save_meta_data();

$intent = (object) [
Expand Down
Loading
Loading