mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-08-30 05:00:51 +08:00
Use client id and secret from persisted settings if available
This commit is contained in:
parent
02b7bb4af9
commit
ebc4316f83
3 changed files with 77 additions and 63 deletions
|
@ -14,6 +14,7 @@ use Dhii\Modular\Module\ModuleInterface;
|
|||
use Interop\Container\ServiceProviderInterface;
|
||||
use Psr\Container\ContainerInterface;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Authentication\Bearer;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Authentication\PayPalBearer;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Exception\RuntimeException;
|
||||
use WooCommerce\PayPalCommerce\ApiClient\Helper\DccApplies;
|
||||
use WooCommerce\PayPalCommerce\Button\Helper\MessagesApply;
|
||||
|
@ -40,52 +41,52 @@ class StatusReportModule implements ModuleInterface {
|
|||
* @param ContainerInterface $container A services container instance.
|
||||
*/
|
||||
public function run( ContainerInterface $container ): void {
|
||||
/* @var State $state The state. */
|
||||
$state = $container->get( 'onboarding.state' );
|
||||
|
||||
/* @var Bearer $bearer The bearer. */
|
||||
$bearer = $container->get( 'api.bearer' );
|
||||
|
||||
/* @var DccApplies $dcc_applies The ddc applies. */
|
||||
$dcc_applies = $container->get( 'api.helpers.dccapplies' );
|
||||
|
||||
/* @var MessagesApply $messages_apply The messages apply. */
|
||||
$messages_apply = $container->get( 'button.helper.messages-apply' );
|
||||
|
||||
/* @var Renderer $renderer The renderer. */
|
||||
$renderer = $container->get( 'status-report.renderer' );
|
||||
|
||||
$items = array(
|
||||
array(
|
||||
'label' => esc_html__( 'Onboarding state', 'woocommerce-paypal-payments' ),
|
||||
'value' => $this->onboarding_state( $state ),
|
||||
),
|
||||
array(
|
||||
'label' => esc_html__( 'Shop country code', 'woocommerce-paypal-payments' ),
|
||||
'value' => wc_get_base_location()['country'],
|
||||
),
|
||||
array(
|
||||
'label' => esc_html__( 'PayPal card processing', 'woocommerce-paypal-payments' ),
|
||||
'value' => $dcc_applies->for_country_currency()
|
||||
? esc_html__( 'Yes', 'woocommerce-paypal-payments' )
|
||||
: esc_html__( 'No', 'woocommerce-paypal-payments' ),
|
||||
),
|
||||
array(
|
||||
'label' => esc_html__( 'Pay Later messaging', 'woocommerce-paypal-payments' ),
|
||||
'value' => $messages_apply->for_country()
|
||||
? esc_html__( 'Yes', 'woocommerce-paypal-payments' )
|
||||
: esc_html__( 'No', 'woocommerce-paypal-payments' ),
|
||||
),
|
||||
array(
|
||||
'label' => esc_html__( 'Vault enabled', 'woocommerce-paypal-payments' ),
|
||||
'value' => $this->vault_enabled( $bearer ),
|
||||
),
|
||||
);
|
||||
|
||||
add_action(
|
||||
'woocommerce_system_status_report',
|
||||
function () use ( $renderer, $items ) { ?>
|
||||
<?php
|
||||
function () use ($container) {
|
||||
|
||||
/* @var State $state The state. */
|
||||
$state = $container->get( 'onboarding.state' );
|
||||
|
||||
/* @var Bearer $bearer The bearer. */
|
||||
$bearer = $container->get( 'api.bearer' );
|
||||
|
||||
/* @var DccApplies $dcc_applies The ddc applies. */
|
||||
$dcc_applies = $container->get( 'api.helpers.dccapplies' );
|
||||
|
||||
/* @var MessagesApply $messages_apply The messages apply. */
|
||||
$messages_apply = $container->get( 'button.helper.messages-apply' );
|
||||
|
||||
/* @var Renderer $renderer The renderer. */
|
||||
$renderer = $container->get( 'status-report.renderer' );
|
||||
|
||||
$items = array(
|
||||
array(
|
||||
'label' => esc_html__( 'Onboarded', 'woocommerce-paypal-payments' ),
|
||||
'value' => $this->onboarded( $bearer, $state ),
|
||||
),
|
||||
array(
|
||||
'label' => esc_html__( 'Shop country code', 'woocommerce-paypal-payments' ),
|
||||
'value' => wc_get_base_location()['country'],
|
||||
),
|
||||
array(
|
||||
'label' => esc_html__( 'PayPal card processing available in country', 'woocommerce-paypal-payments' ),
|
||||
'value' => $dcc_applies->for_country_currency()
|
||||
? esc_html__( 'Yes', 'woocommerce-paypal-payments' )
|
||||
: esc_html__( 'No', 'woocommerce-paypal-payments' ),
|
||||
),
|
||||
array(
|
||||
'label' => esc_html__( 'Pay Later messaging available in country', 'woocommerce-paypal-payments' ),
|
||||
'value' => $messages_apply->for_country()
|
||||
? esc_html__( 'Yes', 'woocommerce-paypal-payments' )
|
||||
: esc_html__( 'No', 'woocommerce-paypal-payments' ),
|
||||
),
|
||||
array(
|
||||
'label' => esc_html__( 'Vault enabled', 'woocommerce-paypal-payments' ),
|
||||
'value' => $this->vault_enabled( $bearer ),
|
||||
),
|
||||
);
|
||||
|
||||
echo wp_kses_post(
|
||||
$renderer->render(
|
||||
esc_html__( 'WooCommerce PayPal Payments', 'woocommerce-paypal-payments' ),
|
||||
|
@ -102,23 +103,25 @@ class StatusReportModule implements ModuleInterface {
|
|||
public function getKey() { }
|
||||
|
||||
/**
|
||||
* It returns the current onboarding state.
|
||||
* It returns the current onboarding status.
|
||||
*
|
||||
* @param Bearer $bearer The bearer.
|
||||
* @param State $state The state.
|
||||
* @return string
|
||||
*/
|
||||
private function onboarding_state( $state ): string {
|
||||
$current_state = $state->current_state();
|
||||
switch ( $current_state ) {
|
||||
case $state::STATE_START:
|
||||
return esc_html__( 'Start', 'woocommerce-paypal-payments' );
|
||||
case $state::STATE_PROGRESSIVE:
|
||||
return esc_html__( 'Progressive', 'woocommerce-paypal-payments' );
|
||||
case $state::STATE_ONBOARDED:
|
||||
return esc_html__( 'Onboarded', 'woocommerce-paypal-payments' );
|
||||
default:
|
||||
return esc_html__( 'Unknown', 'woocommerce-paypal-payments' );
|
||||
private function onboarded( $bearer, $state): string {
|
||||
try {
|
||||
$token = $bearer->bearer();
|
||||
} catch ( RuntimeException $exception ) {
|
||||
return esc_html__('No', 'woocommerce-paypal-payments');
|
||||
}
|
||||
|
||||
$current_state = $state->current_state();
|
||||
if($token->is_valid() && $current_state === $state::STATE_ONBOARDED) {
|
||||
return esc_html__('Yes', 'woocommerce-paypal-payments');
|
||||
}
|
||||
|
||||
return esc_html__('No', 'woocommerce-paypal-payments');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue