PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 4.16.19
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v4.16.19
4.16.19 4.16.18 4.16.17 4.16.16 trunk 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5a 1.1.6 1.1.7 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1 1.4.2 1.5 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.6 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.7 1.7.1 1.7.2 1.8 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 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 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.1.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.2 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.15.0 4.15.1 4.15.10 4.15.11 4.15.12 4.15.13 4.15.14 4.15.15 4.15.16 4.15.17 4.15.18 4.15.19 4.15.2 4.15.20 4.15.20.1 4.15.21 4.15.22 4.15.23 4.15.24 4.15.25 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.0 4.16.1 4.16.10 4.16.11 4.16.12 4.16.13 4.16.14 4.16.15 4.16.2 4.16.3 4.16.4 4.16.5 4.16.6 4.16.7 4.16.8 4.16.9 4.2.0 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.7.0 4.8.0 4.9.0
wp-user-avatar / src / Membership / PaymentMethods / BankTransfer / BankTransfer.php
wp-user-avatar / src / Membership / PaymentMethods / BankTransfer Last commit date
BankTransfer.php 2 years ago index.php 2 years ago
BankTransfer.php
122 lines
1 <?php
2
3 namespace ProfilePress\Core\Membership\PaymentMethods\BankTransfer;
4
5 use ProfilePress\Core\Membership\Controllers\CheckoutResponse;
6 use ProfilePress\Core\Membership\Models\Order\OrderEntity;
7 use ProfilePress\Core\Membership\PaymentMethods\AbstractPaymentMethod;
8
9 class BankTransfer extends AbstractPaymentMethod
10 {
11 public function __construct()
12 {
13 parent::__construct();
14
15 $this->id = 'bank_transfer';
16 $this->title = esc_html__('Direct bank transfer', 'wp-user-avatar');
17 $this->description = esc_html__('Make your payment to our bank account. Please use your Order ID as the payment reference. Your order will only be completed once the funds have cleared in our account.', 'wp-user-avatar');
18
19 $this->method_title = esc_html__('Direct bank transfer', 'wp-user-avatar');
20 $this->method_description = esc_html__('Take payments in person via BACS. More commonly known as direct bank/wire transfer.', 'wp-user-avatar');
21
22 $this->icon = '';
23
24 $this->supports = [self::SUBSCRIPTIONS];
25
26 add_action('ppress_myaccount_view_order_before_order_details_table', [$this, 'frontend_bank_account_details']);
27 }
28
29 protected function is_billing_fields_removed()
30 {
31 return $this->get_value('remove_billing_fields') == 'true';
32 }
33
34 public function admin_settings()
35 {
36 $settings = parent::admin_settings();
37
38 $settings['description']['type'] = 'textarea';
39
40 $default_bank_details = <<<BANK
41 <p>Below are our bank details.</p>
42 <ul>
43 <li>Account holder:</li>
44 <li>IBAN:</li>
45 <li>BIC/SWIFT:</li>
46 </ul>
47 <p>Please initiate the bank transfer to complete your order. Use your order number as the payment reference.</p>
48 BANK;
49
50 $settings['account_details'] = [
51 'label' => esc_html__('Bank Account details', 'wp-user-avatar'),
52 'type' => 'wp_editor',
53 'value' => $default_bank_details,
54 'description' => esc_html__('These account details will be displayed on the order confirmation page.', 'wp-user-avatar')
55 ];
56
57 $settings['remove_billing_fields'] = [
58 'label' => esc_html__('Remove Billing Address', 'wp-user-avatar'),
59 'type' => 'checkbox',
60 'checkbox_label' => esc_html__('Check to remove billing address fields from the checkout page.', 'wp-user-avatar'),
61 'description' => esc_html__('If you do not want the billing address fields displayed on the checkout page, use this setting to remove it.', 'wp-user-avatar')
62 ];
63
64 return $settings;
65 }
66
67 /**
68 * @return bool|\WP_Error
69 */
70
71 public function validate_fields()
72 {
73 return true;
74 }
75
76 /**
77 * Disable billing validation.
78 *
79 * @param $val
80 *
81 * @return bool
82 */
83 public function should_validate_billing_details($val)
84 {
85 if ($this->is_billing_fields_removed()) $val = false;
86
87 return $val;
88 }
89
90 protected function billing_address_form()
91 {
92 if ($this->is_billing_fields_removed()) return;
93
94 parent::billing_address_form();
95 }
96
97 public function process_payment($order_id, $subscription_id, $customer_id)
98 {
99 return (new CheckoutResponse())->set_is_success(true);
100 }
101
102 /**
103 * @param OrderEntity $order
104 *
105 * @return void
106 */
107 public function frontend_bank_account_details($order)
108 {
109 static $cache = false;
110
111 if (false === $cache && $order->payment_method == $this->id && ! $order->is_completed()) {
112 $cache = true;
113 $content = $this->get_value('account_details');
114 echo '<div style="margin: 0 0 10px;">' . wpautop($content) . '</div>';
115 }
116 }
117
118 public function process_webhook()
119 {
120
121 }
122 }