'onetime', 'customer_id' => '003197-000000050', 'site_id' => '003197-0005', 'product_id' => '003197-0005-0001', 'date' => '', 'time' => '', 'transaction_id' => '', 'email' => 'sam.pipe@gmail.com', 'country' => 'BHS', 'name' => 'JIM BOB', 'city' => 'Auckland', 'street' => '21 Jump St', 'phone' => '1231231123', 'state' => 'XX', 'zip' => '1001', 'language' => 'EN', 'cs1' => '060926-061411-6075', 'cs2' => '7722a94230cc9cd0f28fe8e06319ba9f', 'cs3' => '6.99', 'username' => '', 'password' => '', 'total' => '6.99', 'currency' => 'USD', ); // testing */ // process response. $trans_type = trim( stripslashes($_POST['transaction_type']) ); $trans_id = trim( stripslashes($_POST['transaction_id']) ); $cust_id = trim( stripslashes($_POST['customer_id']) ); $site_id = trim( stripslashes($_POST['site_id']) ); $product_id = trim( stripslashes($_POST['product_id']) ); $trans_date = trim( stripslashes($_POST['date']) ); $trans_time = trim( stripslashes($_POST['time']) ); $trans_name = trim( stripslashes($_POST['name']) ); $trans_email = trim( stripslashes($_POST['email']) ); $total = trim( stripslashes($_POST['total']) ); $cart_order_id = trim( stripslashes($_POST['cs1']) ); $cHash = trim( stripslashes($_POST['cs2']) ); $cTotal = trim( stripslashes($_POST['cs3']) ); $amount = trim( stripslashes($_POST['total']) ); $transData['customer_id'] = $cust_id; $transData['gateway'] = "ChronoPay"; $transData['trans_id'] = $trans_id; $transData['order_id'] = $cart_order_id; $transData['amount'] = $amount; // now validate the request $retHash = md5( $glob['storeURL'].$product_id.$cTotal ); if( $retHash==$cHash && $trans_type!='' && $cart_order_id!='' ) { // validate taht the order hasn't already been processed. if( $orderSum['status']!==1 ) { // order is not at a pending status.. fail as this must be an error somewhere or a fake request. $transData['status'] = "Aborted"; $transData['notes'] = "Order status has already been updated. This payment may be a duplicate or a fake."; $order->storeTrans($transData); exit(); } // check the status of the payment if( $trans_type=='onetime' || $trans_type=='initial' || $trans_type=='rebill' ) { // successful payment $transData['status'] = "Successful"; $transData['notes'] = "Payment has been taken successfully."; $order->orderStatus(3,$cart_order_id); } else { // failed payment $transData['status'] = "Failed"; $transData['notes'] = "Payment failed."; } } else { // invalid request from Chronopay server. // if the transaction is fraudolent or not correct do something to notify yourself of the problem // failed payment $transData['status'] = "Error"; $transData['notes'] = "Invalid request from Chronopay server."; } $order->storeTrans($transData); ?>