Example #1
0
 function onTP_Processpayment($data, $vars = array())
 {
     $isValid = true;
     $error = array();
     $error['code'] = '';
     $error['desc'] = '';
     $trxnstatus = '';
     //$file="jtt4.log";
     $urlEndPoint = JURI::getInstance()->toString();
     //$data=json_decode('{"paymentReason":"1234578jticketing jomsocail","signatureMethod":"RSA-SHA1","transactionAmount":"USD 3.000000","transactionId":"17G2TGQO126924NNZ1RFBIMMBVUGSO88VLA","status":"PS","buyerEmail":"*****@*****.**","referenceId":"JT_00016","recipientEmail":"*****@*****.**","transactionDate":"1357307734","buyerName":"sagar","operation":"pay","recipientName":"sagar chinchavade","signatureVersion":"2","certificateUrl":"https:\/\/fps.sandbox.amazonaws.com\/certs\/090911\/PKICert.pem?requestId=5v3w76vo20x0th5zoyr220qvodpaiganjsd695svculh0","paymentMethod":"CC","signature":"oMSb1OZFJaH\/w9MBKp9qtyInUZY5S50hfk5bVHR72C9kE0ng+e7EWW8TmCwdxGbIizrhISiKN\/cy\n0x8+0lrXo6KJdFYhg9L35+RtvQHRA8P3pzB\/ypvUrKLkcTykxo+s2NFtC8G9WSc+UOx+LpAFmNDk\nIZQvTcJklMbTkvyIxIA="}',true);
     $plgPaymentAmazonHelper = new plgPaymentAmazonHelper();
     $verify = $plgPaymentAmazonHelper->validateIPN($data, $urlEndPoint);
     /*	if(!strtoupper($verify)=='SUCCESS')
     		return false;*/
     //3.compare response order id and send order id in notify URL
     $res_orderid = '';
     if ($isValid) {
         $res_orderid = $data['referenceId'];
         if (!empty($vars) && $res_orderid != $vars->order_id) {
             $trxnstatus = 'ERROR';
             $isValid = false;
             $error['desc'] = "ORDER_MISMATCH " . " Invalid ORDERID; notify order_is " . $vars->order_id . ", and response " . $res_orderid;
         }
     }
     // amount check
     if (!empty($data['transactionAmount'])) {
         $data['transactionAmount'] = trim($data['transactionAmount'], $vars->currency_code);
         $data['transactionAmount'] = trim($data['transactionAmount']);
     }
     if ($isValid) {
         if (!empty($vars)) {
             // Check that the amount is correct
             $order_amount = (double) $vars->amount;
             $retrunamount = (double) $data['transactionAmount'];
             $epsilon = 0.01;
             if ($order_amount - $retrunamount > $epsilon) {
                 $trxnstatus = 'ERROR';
                 // change response status to ERROR FOR AMOUNT ONLY
                 $isValid = false;
                 $error['desc'] = "ORDER_AMOUNT_MISTMATCH - order amount= " . $order_amount . ' response order amount = ' . $retrunamount;
             }
         }
     }
     // END OF AMOUNT CHECK
     if ($trxnstatus == 'ERROR') {
         $payment_status = $this->translateResponse($trxnstatus);
     } else {
         $payment_status = $this->translateResponse($data['status']);
     }
     //print $payment_status; die;
     file_put_contents("TST3.txt", "status - order amount= " . $payment_status . ' response order amount = ', FILE_APPEND | LOCK_EX);
     $result = array('order_id' => $data['referenceId'], 'transaction_id' => $data['transactionId'], 'buyer_email' => @$data['payer_email'], 'status' => $payment_status, 'subscribe_id' => @$data['subscr_id'], 'txn_type' => $data['paymentMethod'], 'total_paid_amt' => $data['transactionAmount'], 'raw_data' => $data, 'error' => $error);
     return $result;
 }
 function onTP_Processpayment($data)
 {
     //$file="jtt4.log";
     $urlEndPoint = JURI::getInstance()->toString();
     //$data=json_decode('{"paymentReason":"1234578jticketing jomsocail","signatureMethod":"RSA-SHA1","transactionAmount":"USD 3.000000","transactionId":"17G2TGQO126924NNZ1RFBIMMBVUGSO88VLA","status":"PS","buyerEmail":"*****@*****.**","referenceId":"JT_00016","recipientEmail":"*****@*****.**","transactionDate":"1357307734","buyerName":"sagar","operation":"pay","recipientName":"sagar chinchavade","signatureVersion":"2","certificateUrl":"https:\/\/fps.sandbox.amazonaws.com\/certs\/090911\/PKICert.pem?requestId=5v3w76vo20x0th5zoyr220qvodpaiganjsd695svculh0","paymentMethod":"CC","signature":"oMSb1OZFJaH\/w9MBKp9qtyInUZY5S50hfk5bVHR72C9kE0ng+e7EWW8TmCwdxGbIizrhISiKN\/cy\n0x8+0lrXo6KJdFYhg9L35+RtvQHRA8P3pzB\/ypvUrKLkcTykxo+s2NFtC8G9WSc+UOx+LpAFmNDk\nIZQvTcJklMbTkvyIxIA="}',true);
     $verify = plgPaymentAmazonHelper::validateIPN($data, $urlEndPoint);
     if (!strtoupper($verify) == 'SUCCESS') {
         return false;
     }
     $payment_status = $this->translateResponse($data['status']);
     $result = array('order_id' => $data['referenceId'], 'transaction_id' => $data['transactionId'], 'buyer_email' => $data['payer_email'], 'status' => $payment_status, 'subscribe_id' => $data['subscr_id'], 'txn_type' => $data['paymentMethod'], 'total_paid_amt' => $data['transactionAmount'], 'raw_data' => json_encode($data), 'error' => json_encode($error));
     return $result;
 }