Changeset 3167957
- Timestamp:
- 10/13/2024 11:36:02 AM (18 months ago)
- Location:
- gateway-payping-easy-digital-downloads
- Files:
-
- 7 added
- 3 edited
-
tags/1.2.0 (added)
-
tags/1.2.0/edd-payping.php (added)
-
tags/1.2.0/gateways (added)
-
tags/1.2.0/gateways/payping.php (added)
-
tags/1.2.0/includes (added)
-
tags/1.2.0/includes/toman-currency.php (added)
-
tags/1.2.0/readme.txt (added)
-
trunk/edd-payping.php (modified) (1 diff)
-
trunk/gateways/payping.php (modified) (6 diffs)
-
trunk/readme.txt (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
gateway-payping-easy-digital-downloads/trunk/edd-payping.php
r2661697 r3167957 2 2 /* 3 3 Plugin Name: Gateway PayPing Easy Digital Downloads 4 Version: 1. 2.04 Version: 1.3.0 5 5 Description: افزونه درگاه پرداخت پیپینگ برای Easy Digital Downloads 6 6 Plugin URI: https://www.payping.ir/ -
gateway-payping-easy-digital-downloads/trunk/gateways/payping.php
r2661697 r3167957 58 58 } 59 59 global $edd_options; 60 @ session_start();60 61 61 $payment = $this->insert_payment( $purchase_data ); 62 62 63 63 if ( $payment ) { 64 64 … … 70 70 if ( edd_get_currency() == 'IRR' or strtoupper(edd_get_currency()) == 'RIAL' or strtoupper(edd_get_currency()) == 'ريال' ) 71 71 $amount = $amount / 10; // Return back to original one. 72 72 73 73 $data = array( 74 'clientRefId' => $payment, 75 'payerName' => $full_name, 76 'payerIdentity' => $purchase_data['user_email'], 74 'PayerName' => $full_name, 77 75 'Amount' => $amount, 76 'PayerIdentity' => $purchase_data['user_email'], 77 'ReturnUrl' => $callback, 78 78 'Description' => $desc, 79 'ReturnUrl' => $callback 79 'clientRefId' => (string) $payment, 80 'NationalCode' => '' 80 81 ); 81 82 … … 87 88 'blocking' => true, 88 89 'headers' => array( 90 'X-Platform' => 'EDD', 91 'X-Platform-Version' => '1.3.0', 89 92 'Authorization' => 'Bearer '.$tokenCode, 90 93 'Content-Type' => 'application/json', … … 93 96 'cookies' => array() 94 97 ); 95 96 $response = wp_remote_post('https://api.payping.ir/v2/pay', $args); 97 $res_header = wp_remote_retrieve_headers($response); 98 $payping_id_request = $res_header['x-paypingrequest-id']; 99 98 $response = wp_remote_post('https://api.payping.ir/v3/pay', $args); 99 $code = wp_remote_retrieve_response_code( $response ); 100 100 101 /* Call Function Show Debug In Console */ 101 102 $this->WC_GPP_Debug_Log($edd_options['payping_header_Debug'], $response, "Pay"); 102 103 103 104 if ( is_wp_error($response) ) { 104 edd_insert_payment_note( $payment, 'شناسه درخواست پیپینگ: '.$ payping_id_request);105 edd_insert_payment_note( $payment, 'شناسه درخواست پیپینگ: '.$code ); 105 106 edd_update_payment_status( $payment, 'failed' ); 106 107 edd_set_error( 'payping_connect_error', 'در اتصال به درگاه مشکلی پیش آمد.' ); … … 108 109 return false; 109 110 }else{ 110 $code = wp_remote_retrieve_response_code( $response );111 111 112 if($code === 200){ 112 113 if (isset($response["body"]) and $response["body"] != '') { 113 114 $code_pay = wp_remote_retrieve_body($response); 114 115 $code_pay = json_decode($code_pay, true); 115 edd_insert_payment_note( $payment, 'کد تراکنش پیپینگ: '.$code_pay ); 116 edd_update_payment_meta( $payment, 'payping_code', $code_pay);117 $_SESSION['pp_payment'] = $payment;118 wp_redirect( sprintf('https://api.payping.ir/v2/pay/gotoipg/%s', $code_pay["code"]));116 117 edd_insert_payment_note( $payment, 'کد تراکنش پیپینگ: '.$code_pay["paymentCode"] ); 118 edd_update_payment_meta( $payment, 'payping_code', $code_pay["paymentCode"] ); 119 wp_redirect($code_pay["url"]); 119 120 exit; 120 121 }else{ … … 140 141 public function verify() { 141 142 global $edd_options; 142 143 if ( isset( $_REQUEST['refid'] ) ) { 144 $refid = sanitize_text_field( $_REQUEST['refid'] ); 145 $payment = edd_get_payment( $_SESSION['pp_payment'] ); 146 unset( $_SESSION['pp_payment'] ); 147 if ( ! $payment ) { 148 $payment = edd_get_payment( sanitize_text_field( $_REQUEST['clientrefid'] ) ); 149 } 150 if ( $payment->status == 'complete' ) return false; 151 152 $amount = intval( edd_get_payment_amount( $payment->ID ) ) ; 153 if ( edd_get_currency() == 'IRR' or strtoupper(edd_get_currency()) == 'RIAL' or strtoupper(edd_get_currency()) == 'ريال' ) 154 $amount = $amount / 10; // Return back to original one. 155 156 $tokenCode = ( isset( $edd_options[ 'payping_tokenCode' ] ) ? $edd_options[ 'payping_tokenCode' ] : '' ); 157 158 $data = array( 159 'amount' => $amount, 160 'refId' => $refid 161 ) ; 162 163 $args = array( 164 'body' => json_encode($data), 165 'timeout' => '45', 166 'redirection' => '5', 167 'httpsversion' => '1.0', 168 'blocking' => true, 169 'headers' => array( 170 'Authorization' => 'Bearer ' .$tokenCode, 171 'Content-Type' => 'application/json', 172 'Accept' => 'application/json' 173 ), 174 'cookies' => array() 175 ); 176 $response = wp_remote_post('https://api.payping.ir/v1/pay/verify', $args); 177 178 /* Call Function Show Debug In Console */ 179 $this->WC_GPP_Debug_Log($edd_options['payping_header_Debug'], $response, "Verify"); 180 181 $res_header = wp_remote_retrieve_headers($response); 182 $payping_id_request = $res_header['x-paypingrequest-id']; 183 edd_empty_cart(); 184 185 if ( version_compare( EDD_VERSION, '2.1', '>=' ) ) 186 edd_set_payment_transaction_id( $payment->ID, $refid ); 187 188 if ( is_wp_error($response) ) { 189 $Status = 'failed'; 190 $Fault = 'wp-remote Error.'; 191 $Message = 'خطا در ارتباط به پیپینگ : شرح خطا '.$payping_id_request; 192 }else{ 143 144 $paypingResponse = stripslashes($_REQUEST['data']); 145 $responseData = json_decode($paypingResponse, true); 146 147 148 149 // Get refid 150 if (isset($responseData['paymentRefId'])) { 151 $refid = sanitize_text_field($responseData['paymentRefId']); 152 }else{ 153 $refid = null; 154 } 155 $payment = edd_get_payment( $responseData['clientRefId'] ); 156 157 158 if ($_REQUEST['status'] == 0) { 159 $Message = 'پرداخت انجام نشد. کاربر از صفحه پرداخت انصراف داده است!'; 160 edd_insert_payment_note( $payment->ID, $Message ); 161 edd_update_payment_meta( $payment->ID, 'payping_refid', $refid ); 162 edd_update_payment_status( $payment->ID, 'failed' ); 163 wp_redirect( get_permalink( $edd_options['failure_page'] ) ); 164 } else { 165 if ( isset( $refid ) ) { 166 if ( $payment->status == 'complete' ) return false; 167 168 $amount = intval( edd_get_payment_amount( $payment->ID ) ) ; 169 170 if ( edd_get_currency() == 'IRR' or strtoupper(edd_get_currency()) == 'RIAL' or strtoupper(edd_get_currency()) == 'ريال' ) 171 $amount = $amount / 10; // Return back to original one. 172 173 $tokenCode = ( isset( $edd_options[ 'payping_tokenCode' ] ) ? $edd_options[ 'payping_tokenCode' ] : '' ); 174 175 $data = array( 176 'Amount' => $amount, 177 'PaymentRefId' => $refid 178 ) ; 179 180 $args = array( 181 'body' => json_encode($data), 182 'timeout' => '45', 183 'redirection' => '5', 184 'httpsversion' => '1.0', 185 'blocking' => true, 186 'headers' => array( 187 'Authorization' => 'Bearer ' .$tokenCode, 188 'Content-Type' => 'application/json', 189 'Accept' => 'application/json' 190 ), 191 'cookies' => array() 192 ); 193 $response = wp_remote_post('https://api.payping.ir/v3/pay/verify', $args); 194 $body = wp_remote_retrieve_body( $response ); 195 $rbody = json_decode( $body, true ); 196 197 198 /* Call Function Show Debug In Console */ 199 $this->WC_GPP_Debug_Log($edd_options['payping_header_Debug'], $response, "Verify"); 200 201 193 202 $code = wp_remote_retrieve_response_code( $response ); 194 if ( $code == 200 ) { 195 if (isset($refid) and $refid != '') { 196 edd_insert_payment_note( $payment->ID, 'شماره تراکنش: '.$refid ); 197 edd_update_payment_meta( $payment->ID, 'payping_refid', $refid ); 198 edd_update_payment_status( $payment->ID, 'publish' ); 199 edd_send_to_success_page(); 203 edd_empty_cart(); 204 205 if ( version_compare( EDD_VERSION, '2.1', '>=' ) ) 206 edd_set_payment_transaction_id( $payment->ID, $refid ); 207 208 if ( is_wp_error($response) ) { 209 $Status = 'failed'; 210 $Fault = 'wp-remote Error.'; 211 $Message = 'خطا در ارتباط به پیپینگ : شرح خطا '.$code; 212 }else{ 213 214 if ( $code == 200 ) { 215 if (isset($refid) and $refid != '') { 216 edd_insert_payment_note( $payment->ID, 'شماره تراکنش: '.$refid ); 217 edd_update_payment_meta( $payment->ID, 'payping_refid', $refid ); 218 edd_update_payment_status( $payment->ID, 'complete' ); 219 $receipt_url = get_permalink( $edd_options['success_page'] ).'?id=' . $payment->ID . '&order=' . edd_get_payment_key($payment->ID); 220 wp_redirect($receipt_url); 221 }else{ 222 $Message = 'متاسانه سامانه قادر به دریافت کد پیگیری نمی باشد! نتیجه درخواست : '.$code; 223 edd_insert_payment_note( $payment->ID, $Message ); 224 edd_update_payment_meta( $payment->ID, 'payping_refid', $refid ); 225 edd_update_payment_status( $payment->ID, 'failed' ); 226 wp_redirect( get_permalink( $edd_options['failure_page'] ) ); 227 } 200 228 }else{ 201 $Message = 'متافسانه سامانه قادر به دریافت کد پیگیری نمی باشد! نتیجه درخواست : '.$payping_id_request; 229 230 $Message = wp_remote_retrieve_response_message( $response ); 202 231 edd_insert_payment_note( $payment->ID, $Message ); 203 232 edd_update_payment_meta( $payment->ID, 'payping_refid', $refid ); 204 233 edd_update_payment_status( $payment->ID, 'failed' ); 205 234 wp_redirect( get_permalink( $edd_options['failure_page'] ) ); 235 exit; 206 236 } 207 }else{208 209 $Message = wp_remote_retrieve_response_message( $response );210 edd_insert_payment_note( $payment->ID, $Message );211 edd_update_payment_meta( $payment->ID, 'payping_refid', $refid );212 edd_update_payment_status( $payment->ID, 'failed' );213 wp_redirect( get_permalink( $edd_options['failure_page'] ) );214 exit;215 237 } 216 } 217 218 } 238 239 } 240 } 241 219 242 } 220 243 -
gateway-payping-easy-digital-downloads/trunk/readme.txt
r2661697 r3167957 1 1 === Gateway PayPing Easy Digital Downloads === 2 2 Contributors: payping, mahdisarani 3 Tags: Easy Digital Downloads, edd, payment, payping , افزونه پرداخت, ووکامرس, ووکامرس فارسی, درگاه پرداخت, gateway, iran, persian, پی پینگ, pay ping3 Tags: Easy Digital Downloads, edd, payment, payping 4 4 Donate link: https://payping.ir 5 5 Requires at least: 4.0.0 6 Tested up to: 5.86 Tested up to: 6.6.2 7 7 Requires PHP: 7.0 8 Stable tag: 1. 2.08 Stable tag: 1.3.0 9 9 License: GPLv2 or later 10 10 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 18 18 1- پوشه افزونه را در مسیر /wp-contetn/plugins قرار دهید. 19 19 2- از بخش افزونهها افزونه را فعال کنید. 20 3- از بخش پیکربندی توکن را وارد کنید. 20 3- در پیشخوان وردپرس، مسیر : دانلود ها > پیکربندی تب پرداخت ها یا payments را انتخاب کنید 21 4- در بخش تنظیمات درگاه پرداخت پی پینگ توکن و دیگر تنظیمات را انجام دهید 22 5- وارد تب عمومی شوید و گزینه برگه ها را انتخاب کنید 23 6- برگه های افزونه که نیاز به شورت کد دارند را در سایت خود ایجاد کرده و شورت کد ها را حتما در آن قرار دهید و برگه ای که ایجاد کرده اید را در تنظیمات افزونه انتخاب کنید و تغییرات را ذخیره کنید (برگه Receipt Page و برگه صفحه اصلی پرداخت الزامی میباشد و حتما باید شورت کدهای آن را قرار دهید) 21 24 22 25 == Changelog == 23 release Plugin24 26 25 27 == 1.2.0 == … … 27 29 رفع مشکل عدم نمایش نام پرداخت کننده در پنل پیپینگ 28 30 29 == Upgrade Notice == 30 Update 31 == 1.3.0 == 32 ارتقا به نسخه v3 پی پینگ 33
Note: See TracChangeset
for help on using the changeset viewer.