Changeset 3298100
- Timestamp:
- 05/21/2025 01:06:50 PM (11 months ago)
- Location:
- bucksbus/trunk
- Files:
-
- 32 added
- 4 edited
-
README.txt (modified) (2 diffs)
-
assets/js/frontend/cbanxa.asset.php (added)
-
assets/js/frontend/cbanxa.js (added)
-
assets/js/frontend/ckado.asset.php (added)
-
assets/js/frontend/ckado.js (added)
-
assets/js/frontend/cmoonpay.asset.php (added)
-
assets/js/frontend/cmoonpay.js (added)
-
assets/js/frontend/ctransak.asset.php (added)
-
assets/js/frontend/ctransak.js (added)
-
assets/js/frontend/cwert.asset.php (added)
-
assets/js/frontend/cwert.js (added)
-
assets/js/frontend/guardarian.asset.php (added)
-
assets/js/frontend/guardarian.js (added)
-
assets/js/frontend/kswitchere.asset.php (added)
-
assets/js/frontend/kswitchere.js (added)
-
bucksbus.php (modified) (6 diffs)
-
includes/blocks/class-wc-bucksbus-payments-provider-blocks-cbanxa.php (added)
-
includes/blocks/class-wc-bucksbus-payments-provider-blocks-ckado.php (added)
-
includes/blocks/class-wc-bucksbus-payments-provider-blocks-cmoonpay.php (added)
-
includes/blocks/class-wc-bucksbus-payments-provider-blocks-ctransak.php (added)
-
includes/blocks/class-wc-bucksbus-payments-provider-blocks-cwert.php (added)
-
includes/blocks/class-wc-bucksbus-payments-provider-blocks-guardarian.php (added)
-
includes/blocks/class-wc-bucksbus-payments-provider-blocks-kswitchere.php (added)
-
includes/blocks/class-wc-bucksbus-payments-provider-blocks-template.php (added)
-
includes/blocks/class-wc-bucksbus-payments-provider-blocks.php (added)
-
includes/class-bucksbus-api-handler.php (modified) (2 diffs)
-
includes/class-wc-gateway-bucksbus-handler.php (modified) (3 diffs)
-
includes/class-wc-gateway-bucksbus-provider-base.php (added)
-
includes/class-wc-gateway-bucksbus-provider-cbanxa.php (added)
-
includes/class-wc-gateway-bucksbus-provider-ckado.php (added)
-
includes/class-wc-gateway-bucksbus-provider-cmoonpay.php (added)
-
includes/class-wc-gateway-bucksbus-provider-ctransak.php (added)
-
includes/class-wc-gateway-bucksbus-provider-cwert.php (added)
-
includes/class-wc-gateway-bucksbus-provider-guardarian.php (added)
-
includes/class-wc-gateway-bucksbus-provider-kswitchere.php (added)
-
includes/class-wc-gateway-bucksbus-provider-template.php (added)
Legend:
- Unmodified
- Added
- Removed
-
bucksbus/trunk/README.txt
r3284029 r3298100 5 5 Requires at least: 6.0 6 6 Tested up to: 6.8 7 Stable tag: 1. 1.37 Stable tag: 1.2.0 8 8 Requires PHP: 7.4 9 9 License: GPLv2 or later … … 83 83 == Changelog == 84 84 85 = 1.2.0 = 86 * Add fiat payment 87 85 88 = 1.1.1 = 86 89 * Add support for WordPress 6.8 -
bucksbus/trunk/bucksbus.php
r3284029 r3298100 4 4 * Plugin Name: BucksBus 5 5 * Description: Adds BucksBus to your WooCommerce website. 6 * Version: 1. 1.36 * Version: 1.2.0 7 7 * 8 8 * Author: BucksBus … … 30 30 { 31 31 public static $currencies = array("BTC", "LTC", "ETH", "TRX", "USDT.TRC20", "USDT.ERC20", "POL", "USDT.POLY", "USDC.POLY", "USDC.ERC20"); 32 public static $providers = array( 33 array( 34 'name' => 'Banxa', 35 'code' => 'cbanxa' 36 ), 37 array( 38 'name' => 'Guardarian', 39 'code' => 'guardarian' 40 ), 41 array( 42 'name' => 'Kado', 43 'code' => 'ckado' 44 ), 45 array( 46 'name' => 'Moonpay', 47 'code' => 'cmoonpay' 48 ), 49 array( 50 'name' => 'Switchere', 51 'code' => 'kswitchere' 52 ), 53 array( 54 'name' => 'Transak', 55 'code' => 'ctransak' 56 ), 57 array( 58 'name' => 'Wert', 59 'code' => 'cwert' 60 ), 61 ); 32 62 33 63 /** … … 65 95 66 96 if (('yes' === $hide_for_non_admin_users && current_user_can('manage_options')) || 'no' === $hide_for_non_admin_users) { 67 foreach (BucksBus::$currencies as $currency) { 68 $gateways[] = 'BucksBus_Gateway_' . str_replace(".", "_", $currency); 69 } 97 $gateways[] = 'BucksBus_Gateway_' . str_replace(".", "_", $currency); 98 } 99 } 100 101 foreach (BucksBus::$providers as $provider => $provider_value) { 102 $options = get_option('woocommerce_bucksbus_' . strtolower(str_replace(".", "", $provider_value["code"])) . 'settings', array()); 103 104 if (isset($options['hide_for_non_admin_users'])) { 105 $hide_for_non_admin_users = $options['hide_for_non_admin_users']; 106 } else { 107 $hide_for_non_admin_users = 'no'; 108 } 109 110 if (('yes' === $hide_for_non_admin_users && current_user_can('manage_options')) || 'no' === $hide_for_non_admin_users) { 111 $gateways[] = 'BucksBus_Gateway_Provider_' . str_replace(".", "_", $provider_value["code"]); 70 112 } 71 113 } … … 82 124 if (class_exists('WC_Payment_Gateway')) { 83 125 require_once 'includes/class-wc-gateway-bucksbus-base.php'; 126 require_once 'includes/class-wc-gateway-bucksbus-provider-base.php'; 84 127 foreach (BucksBus::$currencies as $currency) { 85 128 require_once 'includes/class-wc-gateway-bucksbus-' . $currency . '.php'; 129 } 130 foreach (BucksBus::$providers as $provider => $provider_value) { 131 require_once 'includes/class-wc-gateway-bucksbus-provider-' . $provider_value["code"] . '.php'; 86 132 } 87 133 } … … 116 162 if (class_exists('Automattic\WooCommerce\Blocks\Payments\Integrations\AbstractPaymentMethodType')) { 117 163 require_once 'includes/blocks/class-wc-bucksbus-payments-blocks.php'; 164 require_once 'includes/blocks/class-wc-bucksbus-payments-provider-blocks.php'; 118 165 119 166 foreach (BucksBus::$currencies as $currency) { 120 167 require_once 'includes/blocks/class-wc-bucksbus-payments-blocks-' . $currency . '.php'; 168 } 169 foreach (BucksBus::$providers as $provider => $provider_value) { 170 require_once 'includes/blocks/class-wc-bucksbus-payments-provider-blocks-' . $provider_value['code'] . '.php'; 121 171 } 122 172 … … 127 177 $payment_method_registry->register(new BucksBus_Gateway_Blocks_Support($currency)); 128 178 } 179 foreach (BucksBus::$providers as $provider => $provider_value) { 180 $payment_method_registry->register(new BucksBus_Gateway_Provider_Blocks_Support($provider_value['code'], $provider_value['name'])); 181 } 129 182 } 130 183 ); -
bucksbus/trunk/includes/class-bucksbus-api-handler.php
r3086345 r3298100 67 67 'Authorization' => 'Basic ' . base64_encode(self::$api_key . ':' . self::$api_secret), 68 68 'Content-Type' => 'application/json' 69 ) 69 ), 70 'timeout' => 30 70 71 ); 71 72 … … 189 190 $result = self::send_request('payment', $args, 'POST'); 190 191 191 // Cache last-known available payment methods.192 // if (!empty($result[1]['data']['addresses'])) {193 // update_option(194 // 'bucksbus_payment_methods',195 // array_keys($result[1]['data']['addresses']),196 // false197 // );198 // }199 200 192 return $result; 201 193 } 194 195 196 /** 197 * Create a new fiat payment request. 198 * 199 * @param int $amount 200 * @param string $currency 201 * @param array $metadata 202 * @param string $redirect 203 * @param string $name 204 * @param string $desc 205 * @param string $cancel 206 * @return array 207 */ 208 public static function create_fiat_payment( 209 $amount = null, 210 $currency = null, 211 $providerCode = null, 212 $metadata = null, 213 $redirect = null, 214 $name = null, 215 $email = null, 216 $country = null, 217 $state = null, 218 $desc = null, 219 $cancel = null 220 ) { 221 $args = array( 222 'payer_name' => is_null($name) ? get_bloginfo('name') : $name, 223 'description' => is_null($desc) ? get_bloginfo('description') : $desc, 224 ); 225 $args['payer_name'] = sanitize_text_field($args['payer_name']); 226 $args['payer_email'] = $email; 227 $args['payer_lang'] = 'en'; 228 $args['payment_type'] = 'FIXED_AMOUNT'; 229 $args['payment_asset_id'] = 'USDT.ERC20'; 230 $args['amount'] = floatval($amount); 231 $args['asset_id'] = $currency; 232 $args['fiat_provider'] = $providerCode; 233 $args['fiat_asset_id'] = $currency; 234 $args['country'] = $country; 235 $args['state'] = $state; 236 $args['description'] = sanitize_text_field($args['description']); 237 $args['custom1'] = $providerCode; 238 239 240 if (!is_null($metadata)) { 241 $args['custom'] = wp_json_encode($metadata); 242 } 243 if (!is_null($redirect)) { 244 $args['success_url'] = $redirect; 245 } 246 if (!is_null($cancel)) { 247 $args['cancel_url'] = $cancel; 248 } 249 250 $result = self::send_request('payment/fiat', $args, 'POST'); 251 252 return $result; 253 } 202 254 } -
bucksbus/trunk/includes/class-wc-gateway-bucksbus-handler.php
r3086345 r3298100 25 25 * @var bool Whether or not logging is enabled 26 26 */ 27 public static $log_enabled = false;27 public static $log_enabled = true; 28 28 29 29 /** … … 32 32 * @var WC_Logger Logger instance 33 33 * */ 34 public static $log = false;34 public static $log = true; 35 35 36 36 /** … … 77 77 json_last_error() === JSON_ERROR_NONE && 78 78 !empty($data) && 79 !empty($data['payment']) && 80 !empty($data['payment']['payment_asset_id']) 79 !empty($data['payment']) 81 80 ) { 82 $gateway = new BucksBus_Gateway_Base($data['payment']['payment_asset_id']); 83 $gateway->handle_webhook($payload); 81 if (!empty($data['payment']['custom1'])) { 82 $provider_key = array_search($data['payment']['custom1'], array_column(BucksBus::$providers, 'code')); 83 84 if ($provider_key) { 85 $provider = BucksBus::$providers[$provider_key]; 86 $gateway = new BucksBus_Gateway_Provider_Base($provider['code'], $provider['name']); 87 $gateway->handle_webhook($payload); 88 } 89 } else { 90 $gateway = new BucksBus_Gateway_Base($data['payment']['payment_asset_id']); 91 $gateway->handle_webhook($payload); 92 } 84 93 } 85 94 }
Note: See TracChangeset
for help on using the changeset viewer.