Changeset 3377481
- Timestamp:
- 10/13/2025 11:49:06 AM (6 months ago)
- Location:
- tami-payment
- Files:
-
- 130 added
- 5 edited
-
tags/1.3 (added)
-
tags/1.3/admin (added)
-
tags/1.3/admin/TamiAdmin.php (added)
-
tags/1.3/admin/TamiAdminOrderDetails.php (added)
-
tags/1.3/admin/TamiAdminSettings.php (added)
-
tags/1.3/admin/assets (added)
-
tags/1.3/admin/assets/css (added)
-
tags/1.3/admin/assets/css/app.css (added)
-
tags/1.3/admin/assets/css/app.css.map (added)
-
tags/1.3/admin/assets/css/app.scss (added)
-
tags/1.3/admin/assets/css/tami-global.css (added)
-
tags/1.3/admin/assets/css/tami-global.css.map (added)
-
tags/1.3/admin/assets/css/tami-global.scss (added)
-
tags/1.3/admin/assets/css/widget.css (added)
-
tags/1.3/admin/assets/css/widget.css.map (added)
-
tags/1.3/admin/assets/css/widget.scss (added)
-
tags/1.3/admin/assets/fonts (added)
-
tags/1.3/admin/assets/fonts/fontawesome-free-6.4.0-web (added)
-
tags/1.3/admin/assets/fonts/fontawesome-free-6.4.0-web/LICENSE.txt (added)
-
tags/1.3/admin/assets/fonts/fontawesome-free-6.4.0-web/css (added)
-
tags/1.3/admin/assets/fonts/fontawesome-free-6.4.0-web/css/all.css (added)
-
tags/1.3/admin/assets/fonts/fontawesome-free-6.4.0-web/css/all.min.css (added)
-
tags/1.3/admin/assets/fonts/fontawesome-free-6.4.0-web/webfonts (added)
-
tags/1.3/admin/assets/fonts/fontawesome-free-6.4.0-web/webfonts/fa-brands-400.ttf (added)
-
tags/1.3/admin/assets/fonts/fontawesome-free-6.4.0-web/webfonts/fa-brands-400.woff2 (added)
-
tags/1.3/admin/assets/fonts/fontawesome-free-6.4.0-web/webfonts/fa-regular-400.ttf (added)
-
tags/1.3/admin/assets/fonts/fontawesome-free-6.4.0-web/webfonts/fa-regular-400.woff2 (added)
-
tags/1.3/admin/assets/fonts/fontawesome-free-6.4.0-web/webfonts/fa-solid-900.ttf (added)
-
tags/1.3/admin/assets/fonts/fontawesome-free-6.4.0-web/webfonts/fa-solid-900.woff2 (added)
-
tags/1.3/admin/assets/fonts/fontawesome-free-6.4.0-web/webfonts/fa-v4compatibility.ttf (added)
-
tags/1.3/admin/assets/fonts/fontawesome-free-6.4.0-web/webfonts/fa-v4compatibility.woff2 (added)
-
tags/1.3/admin/assets/images (added)
-
tags/1.3/admin/assets/images/gri.svg (added)
-
tags/1.3/admin/assets/images/tami-dalga.png (added)
-
tags/1.3/admin/assets/images/tami-dashboard-1.png (added)
-
tags/1.3/admin/assets/images/tami-dashboard-2.png (added)
-
tags/1.3/admin/assets/images/tami-full.png (added)
-
tags/1.3/admin/assets/images/tami-white.svg (added)
-
tags/1.3/admin/assets/images/wave-only (added)
-
tags/1.3/admin/assets/images/wave-only/beyaz-dalga.svg (added)
-
tags/1.3/admin/assets/images/wave-only/mor-dalga.png (added)
-
tags/1.3/admin/assets/images/wave-only/mor-dalga.svg (added)
-
tags/1.3/admin/assets/images/wave-only/yesil-dalga.svg (added)
-
tags/1.3/admin/assets/js (added)
-
tags/1.3/admin/assets/js/bootstrap.bundle.js (added)
-
tags/1.3/admin/assets/js/main.js (added)
-
tags/1.3/admin/assets/js/order-detail.js (added)
-
tags/1.3/admin/views (added)
-
tags/1.3/admin/views/application-banner.php (added)
-
tags/1.3/admin/views/index.php (added)
-
tags/1.3/admin/views/module-footer.php (added)
-
tags/1.3/admin/views/module-header.php (added)
-
tags/1.3/admin/views/pages (added)
-
tags/1.3/admin/views/pages/api-settings.php (added)
-
tags/1.3/admin/views/pages/home.php (added)
-
tags/1.3/admin/views/pages/installment-settings.php (added)
-
tags/1.3/admin/views/pages/module-settings.php (added)
-
tags/1.3/admin/views/pages/support.php (added)
-
tags/1.3/admin/views/pages/widgets (added)
-
tags/1.3/admin/views/pages/widgets/api-settings-widget.php (added)
-
tags/1.3/admin/views/pages/widgets/last-order-widget.php (added)
-
tags/1.3/checkout (added)
-
tags/1.3/checkout/TamiCheckout.php (added)
-
tags/1.3/checkout/assets (added)
-
tags/1.3/checkout/assets/blocks (added)
-
tags/1.3/checkout/assets/blocks/output.asset.php (added)
-
tags/1.3/checkout/assets/blocks/output.js (added)
-
tags/1.3/checkout/assets/css (added)
-
tags/1.3/checkout/assets/css/sweetalert2.min.css (added)
-
tags/1.3/checkout/assets/css/tami-checkout-app.css (added)
-
tags/1.3/checkout/assets/css/tami-checkout-process.css (added)
-
tags/1.3/checkout/assets/css/tami-checkout-process.css.map (added)
-
tags/1.3/checkout/assets/css/tami-checkout-process.scss (added)
-
tags/1.3/checkout/assets/img (added)
-
tags/1.3/checkout/assets/img/amex.d06ee9b4.png (added)
-
tags/1.3/checkout/assets/img/chip.2c37b1d3.png (added)
-
tags/1.3/checkout/assets/img/credits.png (added)
-
tags/1.3/checkout/assets/img/dinersclub.c46530f7.png (added)
-
tags/1.3/checkout/assets/img/discover.62706277.png (added)
-
tags/1.3/checkout/assets/img/jcb.87087e5e.png (added)
-
tags/1.3/checkout/assets/img/mastercard.cdaba15c.png (added)
-
tags/1.3/checkout/assets/img/troy.70cc58fa.png (added)
-
tags/1.3/checkout/assets/img/unionpay.40ead9ad.png (added)
-
tags/1.3/checkout/assets/img/visa.2bc1a543.png (added)
-
tags/1.3/checkout/assets/js (added)
-
tags/1.3/checkout/assets/js/sweetalert2.all.min.js (added)
-
tags/1.3/checkout/assets/js/tami-checkout-app-vendors.js (added)
-
tags/1.3/checkout/assets/js/tami-checkout-app-vendors.js.map (added)
-
tags/1.3/checkout/assets/js/tami-checkout-app.js (added)
-
tags/1.3/checkout/assets/js/tami-checkout-app.js.map (added)
-
tags/1.3/checkout/assets/js/tami-checkout-process.js (added)
-
tags/1.3/checkout/blocks (added)
-
tags/1.3/checkout/blocks/Tami.class.php (added)
-
tags/1.3/checkout/blocks/appSource (added)
-
tags/1.3/checkout/blocks/appSource/checkout.js (added)
-
tags/1.3/checkout/blocks/appSource/index.php (added)
-
tags/1.3/checkout/blocks/index.php (added)
-
tags/1.3/checkout/views (added)
-
tags/1.3/checkout/views/popup.php (added)
-
tags/1.3/checkout/views/response-send-raw.php (added)
-
tags/1.3/checkout/views/response-send.php (added)
-
tags/1.3/init.php (added)
-
tags/1.3/languages (added)
-
tags/1.3/languages/tami-payment-tr_TR.mo (added)
-
tags/1.3/languages/tami-payment-tr_TR.po (added)
-
tags/1.3/languages/tami-payment.pot (added)
-
tags/1.3/lib (added)
-
tags/1.3/lib/Debugger.php (added)
-
tags/1.3/lib/HashGenerator.php (added)
-
tags/1.3/lib/Requests (added)
-
tags/1.3/lib/Requests/Address.php (added)
-
tags/1.3/lib/Requests/AuthRequest.php (added)
-
tags/1.3/lib/Requests/Basket.php (added)
-
tags/1.3/lib/Requests/BasketItem.php (added)
-
tags/1.3/lib/Requests/Buyer.php (added)
-
tags/1.3/lib/Requests/Card.php (added)
-
tags/1.3/lib/Requests/Complete3DAuthRequest.php (added)
-
tags/1.3/lib/Requests/GetBinInfoRequest.php (added)
-
tags/1.3/lib/Requests/GetInstallmentInfoRequest.php (added)
-
tags/1.3/lib/Requests/GetQueryRequest.php (added)
-
tags/1.3/lib/Requests/OneTimeHostedTokenRequest.php (added)
-
tags/1.3/lib/Requests/PostAuthRequest.php (added)
-
tags/1.3/lib/Requests/ReverseAndRefundRequest.php (added)
-
tags/1.3/lib/Response.php (added)
-
tags/1.3/lib/TamiPaymentClient.php (added)
-
tags/1.3/lib/Tami_WooCommerce_GW.php (added)
-
tags/1.3/package.json (added)
-
tags/1.3/readme.txt (added)
-
tags/1.3/tami-payment.php (added)
-
tags/1.3/webpack.config.js (added)
-
trunk/lib/HashGenerator.php (modified) (4 diffs)
-
trunk/lib/Requests/GetInstallmentInfoRequest.php (modified) (1 diff)
-
trunk/lib/TamiPaymentClient.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/tami-payment.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
tami-payment/trunk/lib/HashGenerator.php
r3229701 r3377481 54 54 private $fixed_k_value; 55 55 private $fixed_kid_value; 56 private $api_v3_enabled = false; 56 57 57 58 public function __construct( … … 67 68 $this->fixed_k_value = $kValue; 68 69 $this->fixed_kid_value = $kidValue; 70 $this->api_v3_enabled = $this->fixed_k_value !== TamiPaymentClient::FIXED_K_VALUE; 69 71 } 70 72 … … 91 93 92 94 public function generateJWKSignature($input): string { 93 if(is_array($input) || is_object($input)) {95 if(is_array($input) || is_object($input)) { 94 96 $input = wp_json_encode($input); 95 97 } 98 if($this->api_v3_enabled) { 99 return self::generateJWKSignatureV3( 100 $this->fixed_kid_value, $this->fixed_k_value, $input 101 ); 102 } 103 96 104 $jwkResource = $this->getJWKResource(); 97 105 … … 116 124 return $headerEncoded . '.' . $payloadEncoded . '.' . $signatureEncoded; 117 125 } 126 private static function base64UrlDecode(string $data): string 127 { 128 $pad = 4 - (strlen($data) % 4); 129 if ($pad < 4) $data .= str_repeat('=', $pad); 130 return base64_decode(strtr($data, '-_', '+/')); 131 } 132 133 public static function generateJWKSignatureV3(string $kid, string $kBase64Url, string $bodyJson): string 134 { 135 // JWS header 136 $header = [ 137 'alg' => 'HS512', 138 'typ' => 'JWT', 139 'kid' => $kid 140 ]; 141 142 $headerJson = json_encode($header, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); 143 $headerB64 = self::base64UrlEncode($headerJson); 144 145 $payloadB64 = self::base64UrlEncode($bodyJson); 146 147 $signingInput = $headerB64 . '.' . $payloadB64; 148 149 $keyBytes = self::base64UrlDecode($kBase64Url); 150 151 $signature = hash_hmac('sha512', $signingInput, $keyBytes, true); 152 $signatureB64 = self::base64UrlEncode($signature); 153 154 return $headerB64 . '.' . $payloadB64 . '.' . $signatureB64; 155 } 118 156 119 157 } -
tami-payment/trunk/lib/Requests/GetInstallmentInfoRequest.php
r3229701 r3377481 26 26 include TAMI_PLUGIN_PATH . '/lib/HashGenerator.php'; 27 27 28 $HashGenerator = new HashGenerator($merchantId,$terminalId,$secretKey, $fixedKidValue, $fixedKValue);29 $hash = $HashGenerator->generateJWKSignature($requestBody);28 $HashGenerator = new HashGenerator($merchantId,$terminalId,$secretKey, $fixedKidValue, $fixedKValue); 29 $hash = $HashGenerator->generateJWKSignature($requestBody); 30 30 31 $this->setSecurityHash($hash);31 $this->setSecurityHash($hash); 32 32 } 33 33 -
tami-payment/trunk/lib/TamiPaymentClient.php
r3368346 r3377481 14 14 15 15 class TamiPaymentClient { 16 17 const FIXED_KID_VALUE = '00ff6ea8-3511-4d04-946c-ba569208306f'; 18 const FIXED_K_VALUE = '87919a8f-957b-427b-ae12-167622ab52b5'; 19 16 20 private ?string $merchantId; 17 21 private ?string $terminalId; 18 22 private ?string $secret_key; 19 private ?string $fixed_kid_value = '00ff6ea8-3511-4d04-946c-ba569208306f';20 private ?string $fixed_k_value = '87919a8f-957b-427b-ae12-167622ab52b5';23 private ?string $fixed_kid_value = self::FIXED_KID_VALUE; 24 private ?string $fixed_k_value = self::FIXED_K_VALUE; 21 25 private ?string $api_version = 'v2'; 22 26 private ?string $method; -
tami-payment/trunk/readme.txt
r3368345 r3377481 4 4 Requires at least: 5.2 5 5 Tested up to: 6.8.1 6 Stable tag: 1. 26 Stable tag: 1.3 7 7 Requires PHP: 7.2 8 8 License: LGPL v3.0 … … 60 60 = 1.2 = 61 61 * Plugin tags updated for Wordpress market warnings. 62 63 = 1.3 = 64 * API V3 issues fixed. -
tami-payment/trunk/tami-payment.php
r3368345 r3377481 4 4 * Plugin URI: https://www.tami.com.tr/ 5 5 * Description: The exact payment method you want for WooCommerce: Tami 6 * Version: 1. 26 * Version: 1.3 7 7 * Requires at least: 5.2 8 8 * Requires PHP: 7.2
Note: See TracChangeset
for help on using the changeset viewer.