mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-07 19:54:15 +08:00
Add parent order previous transaction id to subscription
This commit is contained in:
parent
56d16a5d8a
commit
ab1880f0da
1 changed files with 13 additions and 2 deletions
|
@ -13,6 +13,7 @@ use Exception;
|
||||||
use WC_Product;
|
use WC_Product;
|
||||||
use WooCommerce\PayPalCommerce\ApiClient\Endpoint\BillingSubscriptions;
|
use WooCommerce\PayPalCommerce\ApiClient\Endpoint\BillingSubscriptions;
|
||||||
use WooCommerce\PayPalCommerce\ApiClient\Exception\PayPalApiException;
|
use WooCommerce\PayPalCommerce\ApiClient\Exception\PayPalApiException;
|
||||||
|
use WooCommerce\PayPalCommerce\ApiClient\Repository\OrderRepository;
|
||||||
use WooCommerce\PayPalCommerce\Onboarding\Environment;
|
use WooCommerce\PayPalCommerce\Onboarding\Environment;
|
||||||
use WooCommerce\PayPalCommerce\Vendor\Dhii\Container\ServiceProvider;
|
use WooCommerce\PayPalCommerce\Vendor\Dhii\Container\ServiceProvider;
|
||||||
use WooCommerce\PayPalCommerce\Vendor\Dhii\Modular\Module\ModuleInterface;
|
use WooCommerce\PayPalCommerce\Vendor\Dhii\Modular\Module\ModuleInterface;
|
||||||
|
@ -26,6 +27,7 @@ use WooCommerce\PayPalCommerce\WcGateway\Gateway\PayPalGateway;
|
||||||
use WooCommerce\PayPalCommerce\WcGateway\Gateway\CreditCardGateway;
|
use WooCommerce\PayPalCommerce\WcGateway\Gateway\CreditCardGateway;
|
||||||
use WooCommerce\PayPalCommerce\Vendor\Interop\Container\ServiceProviderInterface;
|
use WooCommerce\PayPalCommerce\Vendor\Interop\Container\ServiceProviderInterface;
|
||||||
use WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface;
|
use WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface;
|
||||||
|
use WooCommerce\PayPalCommerce\WcGateway\Processor\TransactionIdHandlingTrait;
|
||||||
use WooCommerce\PayPalCommerce\WcGateway\Settings\Settings;
|
use WooCommerce\PayPalCommerce\WcGateway\Settings\Settings;
|
||||||
use WooCommerce\PayPalCommerce\WcGateway\Exception\NotFoundException;
|
use WooCommerce\PayPalCommerce\WcGateway\Exception\NotFoundException;
|
||||||
|
|
||||||
|
@ -34,6 +36,8 @@ use WooCommerce\PayPalCommerce\WcGateway\Exception\NotFoundException;
|
||||||
*/
|
*/
|
||||||
class SubscriptionModule implements ModuleInterface {
|
class SubscriptionModule implements ModuleInterface {
|
||||||
|
|
||||||
|
use TransactionIdHandlingTrait;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
|
@ -76,8 +80,15 @@ class SubscriptionModule implements ModuleInterface {
|
||||||
|
|
||||||
if(count($subscription->get_related_orders()) === 1) {
|
if(count($subscription->get_related_orders()) === 1) {
|
||||||
$parent_order = $subscription->get_parent();
|
$parent_order = $subscription->get_parent();
|
||||||
// get transaction id
|
if ( is_a( $parent_order, WC_Order::class ) ) {
|
||||||
// add trans as meta to sub
|
$order_repository = $c->get('api.repository.order');
|
||||||
|
$order = $order_repository->for_wc_order($parent_order);
|
||||||
|
$transaction_id = $this->get_paypal_order_transaction_id( $order );
|
||||||
|
if ( $transaction_id ) {
|
||||||
|
$subscription->update_meta_data( 'ppcp_previous_transaction_reference', $transaction_id );
|
||||||
|
$subscription->save();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue