ÿØÿà JFIF ÿÛ „ ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /var/www/html/adimi/application/libraries/cryptobox/ |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); /** * ... Please MODIFY this file ... * * * User-defined function (IPN) for new payments * --------------------------------------------- * * User-defined function - cryptobox_new_payment($paymentID = 0, $payment_details = array(), $box_status = ""). * Use this function to send confirmation email, update database, update user membership, etc. * * This IPN function will automatically appear for each new payment usually two times : * a) when a new payment is received, with values: $box_status = cryptobox_newrecord, $payment_details[confirmed] = 0 * b) and a second time when existing payment is confirmed (6+ confirmations) with values: $box_status = cryptobox_updated, $payment_details[confirmed] = 1. * * But sometimes if the payment notification is delayed for 20-30min, the payment/transaction will already be confirmed and the function will * appear once with values: $box_status = cryptobox_newrecord, $payment_details[confirmed] = 1 * * If payment received with correct amount, function receive: $payment_details[status] = 'payment_received' and $payment_details[user] = 11, 12, etc (user_id who has made payment) * If incorrectly paid amount, the system can not recognize user; function receive: $payment_details[status] = 'payment_received_unrecognised' and $payment_details[user] = '' * * Function cryptobox_new_payment($paymentID = 0, $payment_details = array(), $box_status = "") * gets $paymentID from your table crypto_payments, $box_status = 'cryptobox_newrecord' OR 'cryptobox_updated' (description above) * and payment details as array - * * 1. EXAMPLE - CORRECT PAYMENT - * ----------------------------------------------------- * $payment_details = Array * { * "status":"payment_received" * "err":"" * "private_key_hash":"85770A30B97D3AC035EC32354633C1614CF76E1621A20B143A1FBDAD1FCBF25A6EC6C5F99FFF495DD1836E47AE0E37942EC0B04867BD14778B2C93967E4A7FAC" // sha512 hash of gourl payment box private_key * "box":"120" * "boxtype":"paymentbox" * "order":"order15620A" * "user":"user26" * "usercountry":"USA" * "amount":"0.0479166" * "amountusd":"11.5" * "coinlabel":"BTC" * "coinname":"bitcoin" * "addr":"14dt2cSbvwghDcETJDuvFGHe5bCsCPR9jW" * "tx":"95ed924c215f2945e75acfb5650e28384deac382c9629cf0d3f31d0ec23db08d" * "confirmed":0 * "timestamp":"1422624765" * "date":"30 January 2015" * "datetime":"2015-01-30 13:32:45" * } * * 2. EXAMPLE - INCORRECT PAYMENT/WRONG AMOUNT - * ----------------------------------------------------- * $payment_details = Array * { * "status":"payment_received_unrecognised" * "err":"An incorrect bitcoin amount has been received" * "private_key_hash":"85770A30B97D3AC035EC32354633C1614CF76E1621A20B143A1FBDAD1FCBF25A6EC6C5F99FFF495DD1836E47AE0E37942EC0B04867BD14778B2C93967E4A7FAC" // sha512 hash of gourl payment box private_key * "box":"120" * "boxtype":"paymentbox" * "order":"" * "user":"" * "usercountry":"" * "amount":"12.26" * "amountusd":"0.05" * "coinlabel":"BTC" * "coinname":"bitcoin" * "addr":"14dt2cSbvwghDcETJDuvFGHe5bCsCPR9jW" * "tx":"6f1c6f34189a27446d18e25b9c79db78be55b0bb775b1768b5aa4520f27d71a8" * "confirmed":0 * "timestamp":"1422623712" * "date":"30 January 2015" * "datetime":"2015-01-30 13:15:12" * } * * Read more - https://gourl.io/api-php.html#ipn */ function cryptobox_new_payment($paymentID = 0, $payment_details, $box_status = "") { /** ............. ............. PLACE YOUR CODE HERE Update database with new payment, send email to user, etc Please note, all received payments store in your table `crypto_payments` also See - https://gourl.io/api-php.html#payment_history ............. ............. For example, you have own table `user_orders`... You can use function run_sql() from cryptobox.class.php ( https://gourl.io/api-php.html#run_sql ) ............. // Save new Bitcoin payment in database table `user_orders` $recordExists = run_sql("select paymentID as nme FROM `user_orders` WHERE paymentID = ".intval($paymentID)); if (!$recordExists) run_sql("INSERT INTO `user_orders` VALUES(".intval($paymentID).",'".$payment_details["user"]."','".$payment_details["order"]."',".floatval($payment_details["amount"]).",".floatval($payment_details["amountusd"]).",'".$payment_details["coinlabel"]."',".intval($payment_details["confirmed"]).",'".$payment_details["status"]."')"); **/ run_sql("INSERT INTO `ext_exchange` VALUES('','".$payment_details->coin_id."','".$payment_details->user_id."','".$payment_details->coin_wallet_id."','".$payment_details->transection_type."','".$payment_details->coin_amount."','".$payment_details->usd_amount."','".$payment_details->local_amount."','".$payment_details->payment_method."','".$payment_details->request_ip."','".$payment_details->verification_code."','".$payment_details->payment_details."','".$payment_details->rate_coin."', CURRENT_TIMESTAMP(),'".$payment_details->om_name."','".$payment_details->om_mobile."','".$payment_details->transaction_no."','".$payment_details->idcard_no."','".$payment_details->document_status."','".$payment_details->status."','','','','')"); /** ............. // Received second IPN notification (optional) - Bitcoin payment confirmed (6+ transaction confirmations) if ($recordExists && $box_status == "cryptobox_updated") run_sql("UPDATE `user_orders` SET txconfirmed = ".intval($payment_details["confirmed"])." WHERE paymentID = ".intval($paymentID)); ............. ............. // Onetime action when payment confirmed (6+ transaction confirmations) $processed = run_sql("select processed as nme FROM `crypto_payments` WHERE paymentID = ".intval($paymentID)." LIMIT 1"); if (!$processed && $payment_details["confirmed"]) { // ... Your code ... // ... and update status in default table where all payments are stored - https://github.com/cryptoapi/Payment-Gateway#mysql-table $sql = "UPDATE crypto_payments SET processed = 1, processedDate = '".gmdate("Y-m-d H:i:s")."' WHERE paymentID = ".intval($paymentID)." LIMIT 1"; run_sql($sql); } ............. */ // Debug - new payment email notification for webmaster // Uncomment lines below and make any test payment // -------------------------------------------- // $email = "....your email address...."; // mail($email, "Payment - " . $paymentID . " - " . $box_status, " \n Payment ID: " . $paymentID . " \n\n Status: " . $box_status . " \n\n Details: " . print_r($payment_details, true)); return true; } ?>