コード例 #1
0
 function AuthorizeARBDeleteProfile($payment_serial_number, $refID, $user_id, $msc_id = 0)
 {
     require_once JPATH_ADMINISTRATOR . DS . "components" . DS . "com_osemsc" . DS . "libraries" . DS . "class.connection.php";
     require_once JPATH_ADMINISTRATOR . DS . "components" . DS . "com_osemsc" . DS . "libraries" . DS . "AuthnetARB.class.php";
     $arb = new AuthnetARB();
     $config = oseMscConfig::getConfig('payment', 'obj');
     $test_mode = $config->cc_testmode;
     $an_loginid = $config->an_loginid;
     $an_transkey = $config->an_transkey;
     $an_email_customer = $config->an_email_customer;
     $an_email_merchant = $config->an_email_merchant;
     $an_merchant_email = $config->an_merchant_email;
     $ProfileID = $payment_serial_number;
     //self:: GetProfileID($order_number);
     $arbsubdomain = $test_mode ? 'apitest' : 'api';
     $arb->url = $arbsubdomain . ".authorize.net";
     $arb->setParameter('login', $an_loginid);
     $arb->setParameter('transkey', $an_transkey);
     $arb->setParameter('refID', $refID);
     $arb->setParameter('subscrId', $ProfileID);
     $arb->deleteAccount();
     $result = array();
     //$result['resultCode'] = $arb->resultCode;
     $result['code'] = $arb->getResponseCode();
     $result['text'] = $arb->getResponse();
     $result['subscrId'] = $arb->getSubscriberID();
     $result['success'] = $arb->isSuccessful();
     return $result;
 }
コード例 #2
0
       	$subscription->setParameter('subscrId',$subscription_id_responce_cancel );

       	$subscription->deleteAccount();

       	if ($subscription->isSuccessful()){

           

          echo $subscription->isSuccessful();

       }

       else{

       	

     				 echo $subscription->getResponse();

     				

       }

       }*/
} catch (AuthnetARBException $e) {
    $subscription = new AuthnetARB('8FVwN499xm', '2Tc8f298B76jG9yX');
    if ($subscription_id_responce_cancel) {
        $subscription->setParameter('subscrId', $subscription_id_responce_cancel);
        $subscription->deleteAccount();
        if ($subscription->isSuccessful()) {
            $Subscription_cancel = "Subscription has been cancel";
            $flag = 1;
 public function purchase_direct($id)
 {
     $subscriptions = $this->subscriptions;
     $subscription = $subscriptions[$id];
     if (empty($subscription)) {
         return;
     }
     $sandbox = $this->anetarb_settings['mode'] == 'sandbox' ? true : false;
     $payment = new AuthnetAIM($sandbox);
     $creditcard = $_POST['cc_number'];
     $expiration = $_POST['cc_expmonth'] . $_POST['cc_expyear'];
     $cvv = $_POST['cc_cvc'];
     $total = $subscription['init_amount'];
     $invoice = null;
     $tax = null;
     $first_name = $_POST['first_name'];
     $last_name = $_POST['last_name'];
     $email = $_POST['email'];
     $payment->transaction($creditcard, $expiration, $total, $cvv, $invoice, $tax);
     $login = $this->anetarb_settings['acct.api_login_id'];
     $key = $this->anetarb_settings['acct.transaction_key'];
     $payment->setParameter("x_login", $login);
     $payment->setParameter("x_tran_key", $key);
     $payment->setParameter("x_first_name", $first_name);
     $payment->setParameter("x_last_name", $last_name);
     $payment->setParameter("x_email", $email);
     $subscription_name = $subscription['name'];
     $payment->process();
     if ($payment->isApproved()) {
         // Instanciate our ARB class
         $arb = new AuthnetARB($sandbox, $login, $key);
         // Set recurring billing variables
         // Set recurring billing parameters
         $arb->setParameter('amount', $total);
         $arb->setParameter('cardNumber', $creditcard);
         $arb->setParameter('expirationDate', $expiration);
         $arb->setParameter('firstName', $first_name);
         $arb->setParameter('lastName', $last_name);
         //$arb->setParameter('address', $address);
         //$arb->setParameter('city', $city);
         //$arb->setParameter('state', $state);
         //$arb->setParameter('zip', $zip);
         $arb->setParameter('customerEmail', $email);
         $arb->setParameter('subscrName', $subscription_name);
         // Create the recurring billing subscription
         $arb->createAccount();
         // If successful let's get the subscription ID
         if ($arb->isSuccessful()) {
             $arb_id = $arb->getSubscriberID();
             $status = array('status' => 'active', 'id' => $arb_id);
         } else {
             //var_dump('Fail:' . $arb->getResponse());
         }
     } else {
         //var_dump($payment->getResultResponseFull());
     }
     $_POST['lastname'] = $last_name;
     $_POST['firstname'] = $first_name;
     $_POST['action'] = 'wpm_register';
     $_POST['wpm_id'] = $subscription['sku'];
     $_POST['username'] = $email;
     $_POST['email'] = $email;
     $_POST['sctxnid'] = $status['id'];
     $_POST['password1'] = $_POST['password2'] = $this->wlm->PassGen();
     $this->wlm->ShoppingCartRegistration();
 }
コード例 #4
0
 $arb->setParameter('amount', $subscription_total);
 $arb->setParameter('cardNumber', $creditcard);
 $arb->setParameter('expirationDate', $expiration2);
 $arb->setParameter('firstName', $a['card_name_first']);
 $arb->setParameter('lastName', $a['card_name_last']);
 $arb->setParameter('address', $a['address']);
 $arb->setParameter('city', $a['city']);
 $arb->setParameter('state', $a['state']);
 $arb->setParameter('zip', $a['zipcode']);
 $arb->setParameter('subscrName', $profile_name);
 $arb->setParameter('orderInvoiceNumber', $invoice);
 $arb->setParameter('orderDescription', 'Occasions Online Subscription');
 // Create the recurring billing subscription
 $arb->createAccount();
 // If successful let's get the subscription ID
 if ($arb->isSuccessful()) {
     $sub_id = $arb->getSubscriberID();
     //$err[] = "Subscriber ID: $sub_id";
 } else {
     $err[] = "Response Code: " . $arb->getResponseCode();
     $err[] = "Response Text: " . $arb->getResponse();
     // TODO: in case of errors, email the above info to the admin
     // in this case we keep going since the initial charge was created
     // successfully but report the error to the admin.
 }
 // *******************************************************************
 // STORE THE RESULTS IN THE DATABASE AND UPGRADE THEIR ACCOUNT
 // *******************************************************************
 // all clear to save the subscription data to the database
 $profile_data = array();
 $profile_data['card_num'] = substr($creditcard, -4);
コード例 #5
0
ファイル: authorize.php プロジェクト: kosmosby/medicine-prof
 protected function apiCheck($oItem)
 {
     $result = array();
     $db = oseDB::instance();
     static $arb;
     $oseMscConfig = oseMscConfig::getConfig('payment', 'obj');
     // Authorize setting
     if (!defined('AUTHORIZENET_API_LOGIN_ID')) {
         define("AUTHORIZENET_API_LOGIN_ID", oseObject::getValue($oseMscConfig, 'an_loginid'));
     }
     if (!defined('AUTHORIZENET_TRANSACTION_KEY')) {
         define("AUTHORIZENET_TRANSACTION_KEY", oseObject::getValue($oseMscConfig, 'an_transkey'));
     }
     if (!$arb instanceof AuthnetARB) {
         $arb = new AuthnetARB();
         $pConfig = oseMscConfig::getConfig('payment', 'obj');
         $test_mode = $pConfig->cc_testmode;
         if ($test_mode) {
             $arb->apitest = "api.authorize.net";
         } else {
             $arb->url = "api.authorize.net";
         }
         $arb->login = AUTHORIZENET_API_LOGIN_ID;
         $arb->transkey = AUTHORIZENET_TRANSACTION_KEY;
     }
     // End
     // init Beanstream
     // End
     //oseExit($oItem->payment_method);
     $oParams = oseJson::decode($oItem->params);
     if ($oItem->payment_method == 'authorize') {
         if (empty($oItem->payment_serial_number)) {
             $result['success'] = false;
             $result['title'] = JText::_('ERROR');
             $result['content'] = JText::_('ERROR');
             oseExit(oseJson::encode($result));
         }
         if ($oItem->payment_mode == 'm') {
             $vals = array();
             // update expired date
             $vals['id'] = $obj->id;
             //$vals['status'] = 0;
             $vals['virtual_status'] = 0;
             $vals['eternal'] = 0;
             //$vals['expired_date'] = oseHtml::getDateTime();
             oseDB::update('#__osemsc_member', 'id', $vals);
         } else {
             $arb->setParameter('subscrId', $oItem->payment_serial_number);
             $arb->getSubscriptionStatus();
             //oseExit($arb);
             $response = $arb->status;
             $vals = array();
             if (strtolower($response) == 'active' && $arb->getResponseCode() == 'I00001' && $arb->isSuccessful()) {
                 $recurrence_num = oseObject::getValue($oParams, 'p3');
                 $recurrence_unit = oseObject::getValue($oParams, 't3');
                 if ($obj->expired_date == '0000-00-00 00:00:00') {
                     $expired_date = " DATE_ADD(`start_date` ,INTERVAL {$recurrence_num} {$recurrence_unit}) ";
                 } else {
                     $expired_date = " DATE_ADD(`expired_date` ,INTERVAL {$recurrence_num} {$recurrence_unit}) ";
                 }
                 $query = " UPDATE `#__osemsc_member` " . " SET  `status` = 1 ,`eternal`=0, `expired_date` = {$expired_date}" . " WHERE `id` = '{$oItem->member_id}' AND `expired_date` < DATE_ADD(NOW(),INTERVAL 2 DAY)";
                 $db->setQuery($query);
                 $updated = oseDB::query();
                 $result['finish'] = false;
                 $result['success'] = true;
                 $result['title'] = JText::_('SUCCESS');
                 $result['content'] = JText::_('SUCCESS');
             } elseif (substr($arb->getResponseCode(), 0, 1) == 'E') {
                 $vals['id'] = $oItem->member_id;
                 $vals['virtual_status'] = 0;
                 //$vals['status'] = 0;
                 $vals['eternal'] = 0;
                 //$vals['expired_date'] = oseHtml::getDateTime();
                 //oseDB::update('#__osemsc_member','id',$vals);
                 /*$ofVals = array();
                 		$ofVals['id'] = $oItem->fix_id;
                 		$ofVals['status'] = 'fixed';
                 		oseDB::update("#__osemsc_order_fix",'id',$ofVals);*/
                 $result['finish'] = true;
                 $result['success'] = false;
                 $result['title'] = JText::_('ERROR');
                 $result['content'] = $arb->getResponse();
             } else {
                 // update expired date
                 $vals['id'] = $oItem->member_id;
                 $vals['virtual_status'] = 0;
                 //$vals['status'] = 0;
                 $vals['eternal'] = 0;
                 //$vals['expired_date'] = oseHtml::getDateTime();
                 oseDB::update('#__osemsc_member', 'id', $vals);
                 /*$ofVals = array();
                 		$ofVals['id'] = $oItem->fix_id;
                 		$ofVals['status'] = 'fixed';
                 		oseDB::update("#__osemsc_order_fix",'id',$ofVals);*/
                 $result['finish'] = true;
                 $result['success'] = true;
                 $result['title'] = JText::_('SUCCESS');
                 $result['content'] = JText::_('SUCCESS');
             }
             return $result;
         }
         // if find expired date, updated it
     } else {
         $result['success'] = false;
         $result['title'] = JText::_('ERROR');
         $result['content'] = JText::_('Only Support Authorize');
         return $result;
     }
 }