PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 4.0.0
Tutor LMS – eLearning and online course solution v4.0.0
4.0.1 4.0.0 3.9.15 3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / ecommerce / PaymentGateways / Configs / PaymentUrlsTrait.php
tutor / ecommerce / PaymentGateways / Configs Last commit date
PaymentUrlsTrait.php 1 year ago PaypalConfig.php 8 months ago
PaymentUrlsTrait.php
85 lines
1 <?php
2 /**
3 * Payment URLs Trait
4 * Contains success, cancel & webhook url
5 *
6 * @package Tutor\Ecommerce
7 * @author Themeum
8 * @link https://themeum.com
9 * @since 3.0.0
10 */
11
12 namespace Tutor\PaymentGateways\Configs;
13
14 trait PaymentUrlsTrait {
15
16 /**
17 * Retrieves the webhook URL for Stripe.
18 *
19 * @since 3.0.0
20 *
21 * @return string The webhook URL.
22 */
23 public function getWebhookUrl(): string {
24 $url = home_url( 'wp-json/tutor/v1/ecommerce-webhook' );
25 if ( tutor_is_dev_mode() && defined( 'TUTOR_ECOMMERCE_WEBHOOK_URL' ) ) {
26 $url = TUTOR_ECOMMERCE_WEBHOOK_URL;
27 }
28
29 return apply_filters( 'tutor_ecommerce_webhook_url', $url );
30 }
31
32 /**
33 * Retrieves the success URL for the payment process.
34 *
35 * @since 3.0.0
36 *
37 * @return string The success URL.
38 */
39 public function getSuccessUrl(): string {
40 $args = array(
41 'tutor_order_placement' => 'success',
42 'order_id' => 0,
43 );
44 $args = apply_filters( 'tutor_ecommerce_payment_success_url_args', $args );
45 return add_query_arg( $args, home_url() );
46 }
47
48 /**
49 * Retrieves the cancel URL for the payment process.
50 *
51 * @since 3.0.0
52 *
53 * @return string The cancel URL.
54 */
55 public function getCancelUrl(): string {
56 $args = array(
57 'tutor_order_placement' => 'failed',
58 'order_id' => 0,
59 );
60 $args = apply_filters( 'tutor_ecommerce_payment_cancelled_url_args', $args );
61
62 $url = defined( 'TUTOR_ECOMMERCE_CANCEL_URL' ) ? TUTOR_ECOMMERCE_CANCEL_URL : home_url();
63 return add_query_arg( $args, $url );
64 }
65
66 /**
67 * Helper function to retrieve field values from config.
68 *
69 * @param array $config Paypal config array.
70 * @param string $field_name Field name to get value.
71 *
72 * @return mixed
73 */
74 public function get_field_value( array $config, string $field_name ) {
75 $value = '';
76 foreach ( $config['fields'] as $field ) {
77 if ( isset( $field['name'] ) && $field['name'] === $field_name ) {
78 $value = $field['value'] ?? '';
79 break;
80 }
81 }
82 return $value;
83 }
84 }
85