mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-05 08:59:14 +08:00
Use ExperienceContext in OrderProcessor
This commit is contained in:
parent
279a3452c8
commit
41b9585d2b
3 changed files with 32 additions and 6 deletions
|
@ -570,7 +570,8 @@ return array(
|
|||
$order_helper,
|
||||
$container->get( 'api.factory.purchase-unit' ),
|
||||
$container->get( 'api.factory.payer' ),
|
||||
$container->get( 'api.factory.shipping-preference' )
|
||||
$container->get( 'api.factory.shipping-preference' ),
|
||||
$container->get( 'wcgateway.builder.experience-context' )
|
||||
);
|
||||
},
|
||||
'wcgateway.processor.refunds' => static function ( ContainerInterface $container ): RefundProcessor {
|
||||
|
|
|
@ -14,9 +14,12 @@ use Psr\Log\LoggerInterface;
|
|||
use WC_Order;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Endpoint\OrderEndpoint;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Entity\ApplicationContext;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Entity\ExperienceContext;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Entity\Order;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Entity\OrderStatus;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Entity\PaymentSource;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Exception\RuntimeException;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Factory\ExperienceContextBuilder;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Factory\OrderFactory;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Factory\PayerFactory;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Factory\PurchaseUnitFactory;
|
||||
|
@ -143,6 +146,11 @@ class OrderProcessor {
|
|||
*/
|
||||
private $restore_order_data = array();
|
||||
|
||||
/**
|
||||
* The ExperienceContextBuilder.
|
||||
*/
|
||||
private ExperienceContextBuilder $experience_context_builder;
|
||||
|
||||
/**
|
||||
* OrderProcessor constructor.
|
||||
*
|
||||
|
@ -159,6 +167,7 @@ class OrderProcessor {
|
|||
* @param PurchaseUnitFactory $purchase_unit_factory The PurchaseUnit factory.
|
||||
* @param PayerFactory $payer_factory The payer factory.
|
||||
* @param ShippingPreferenceFactory $shipping_preference_factory The shipping_preference factory.
|
||||
* @param ExperienceContextBuilder $experience_context_builder The ExperienceContextBuilder.
|
||||
*/
|
||||
public function __construct(
|
||||
SessionHandler $session_handler,
|
||||
|
@ -173,7 +182,8 @@ class OrderProcessor {
|
|||
OrderHelper $order_helper,
|
||||
PurchaseUnitFactory $purchase_unit_factory,
|
||||
PayerFactory $payer_factory,
|
||||
ShippingPreferenceFactory $shipping_preference_factory
|
||||
ShippingPreferenceFactory $shipping_preference_factory,
|
||||
ExperienceContextBuilder $experience_context_builder
|
||||
) {
|
||||
|
||||
$this->session_handler = $session_handler;
|
||||
|
@ -189,6 +199,7 @@ class OrderProcessor {
|
|||
$this->purchase_unit_factory = $purchase_unit_factory;
|
||||
$this->payer_factory = $payer_factory;
|
||||
$this->shipping_preference_factory = $shipping_preference_factory;
|
||||
$this->experience_context_builder = $experience_context_builder;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -317,7 +328,17 @@ class OrderProcessor {
|
|||
array( $pu ),
|
||||
$shipping_preference,
|
||||
$this->payer_factory->from_wc_order( $wc_order ),
|
||||
ApplicationContext::USER_ACTION_PAY_NOW
|
||||
ApplicationContext::USER_ACTION_PAY_NOW,
|
||||
'',
|
||||
array(),
|
||||
new PaymentSource(
|
||||
'paypal',
|
||||
(object) array(
|
||||
'experience_context' => $this->experience_context_builder
|
||||
->with_default_paypal_config( $shipping_preference, ExperienceContext::USER_ACTION_PAY_NOW )
|
||||
->build()->to_array(),
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
return $order;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue