private static function get_arb($local_api_settings = array()) { self::include_api(); $api_settings = self::get_api_settings($local_api_settings); $is_sandbox = $api_settings['mode'] == "test"; $arb = new AuthorizeNetARB($api_settings["login_id"], $api_settings["transaction_key"]); $arb->setSandbox($is_sandbox); return $arb; }
function onTP_Processpayment_recurring($data) { $order_id = $data['order_id']; require_once dirname(__FILE__) . '/authorizenet/lib/AuthorizeNet.php'; $auth_net_login_id = $this->params->get('login_id', '1'); $auth_net_tran_key = $this->params->get('tran_key', '1'); $plgPaymentAuthorizenetHelper = new plgPaymentAuthorizenetHelper(); $auth_net_url = $plgPaymentAuthorizenetHelper->buildAuthorizenetUrl(); $auth_net_url; $DEBUGGING = 1; # Display additional information to track down problems $TESTING = 1; # Set the testing flag so that transactions are not live $ERROR_RETRIES = 2; # Number of transactions to post if soft errors occur $exp_date = explode('-', $data['expirationDate']); $data['expirationDate'] = $exp_date[1] . "-" . $exp_date[0]; define("AUTHORIZENET_API_LOGIN_ID", $auth_net_login_id); define("AUTHORIZENET_TRANSACTION_KEY", $auth_net_tran_key); $subscription = new AuthorizeNet_Subscription(); $subscription->name = $data['sub_name']; $subscription->intervalLength = $data['intervalLength']; $subscription->intervalUnit = $data['intervalUnit']; $subscription->startDate = $data['startDate']; $subscription->totalOccurrences = $data['totalOccurrences']; $subscription->amount = $data['amount']; $subscription->orderInvoiceNumber = $data['order_id']; $subscription->creditCardCardNumber = $data['cardNumber']; $subscription->creditCardExpirationDate = $data['expirationDate']; $subscription->creditCardCardCode = $data['cardcode']; $subscription->billToFirstName = $data['firstName']; $subscription->billToLastName = $data['lastName']; $subscription->billToAddress = $data['cardaddress1']; $subscription->billToCity = $data['cardcity']; $subscription->billToState = $data['cardstate']; $subscription->billToZip = $data['cardzip']; // Create the subscription. $request = new AuthorizeNetARB(); $refId = $subscription->orderInvoiceNumber; $request->setRefId($refId); $testmode = $this->params->get('sandbox', '1'); if ($testmode == 0) { $request->setSandbox(false); //turn OFF sandbox } else { $request->setSandbox(true); //turn ON sandbox } $response = $request->createSubscription($subscription); $subscription_id = $response->getSubscriptionId(); $error = ""; if ($response->xml->messages->resultCode != 'Ok') { $payment_status = "P"; $error = JText::_('AUTH_SUB_FAIL') . $response->xml->messages->message->text; } else { $payment_status = "C"; $success = JText::_('AUTH_SUB_SUCCESS') . $subscription_id; } $result = array('transaction_id' => $refId, 'subscription_id' => $subscription_id, 'order_id' => $data['order_id'], 'status' => $payment_status, 'total_paid_amt' => $data['amount'], 'raw_data' => $response, 'payment_type' => 'recurring', 'error' => $error, 'success' => $success, 'return' => $data['return']); return $result; }
function process_subscription($item, $data, $config) { //Check for subscriptions $sub = array(); if (!defined('AUTHORIZENET_API_LOGIN_ID')) { define("AUTHORIZENET_API_LOGIN_ID", $config["x_login"]); define("AUTHORIZENET_TRANSACTION_KEY", $config["x_tran_key"]); } $unit = $item["subscription"]["period"] == 1 ? 'days' : 'months'; $member_id = $this->EE->session->userdata["member_id"]; $email = $this->EE->session->userdata["email"]; // Set the start date $start_dt = date('Y-m-d', strtotime('+' . $item["subscription"]["length"] . ' ' . $unit)); // Check if there is a trial subscription $price = $item["subscription"]["price"]; $renewal_price = $item["subscription"]["price"]; unset($item["subscription"]["price"]); $trial_occur = ""; $trial_price = ""; if ($item["subscription"]["trial_occur"] > 1) { // reduce the trial occurrences by one since we // already gave them the discount on the first // payment $occur = $item["subscription"]["trial_occur"] - 1; if ($occur >= 1) { #$renewal_price = $item["subscription"]["trial_price"]; $trial_occur = $occur; $trial_price = $item["subscription"]["trial_price"]; } } $subscription = new AuthorizeNet_Subscription(); $subscription->name = $item["title"]; $subscription->intervalLength = $item["subscription"]["length"]; $subscription->intervalUnit = $unit; $subscription->startDate = $start_dt; $subscription->totalOccurrences = 9999; $subscription->trialOccurrences = $trial_occur; $subscription->amount = $price; $subscription->trialAmount = $trial_price; $subscription->creditCardCardNumber = $data["autho_cc_num"]; $subscription->creditCardExpirationDate = $data["autho_cc_year"] . '-' . $data["autho_cc_month"]; $subscription->creditCardCardCode = $data["autho_cc_code"]; $subscription->orderInvoiceNumber = $data["order_id"]; $subscription->orderDescription = ""; $subscription->customerId = $member_id; $subscription->customerEmail = $email; $subscription->customerPhoneNumber = $data["br_billing_phone"]; $subscription->billToFirstName = $data["br_billing_fname"]; $subscription->billToLastName = $data["br_billing_lname"]; $subscription->billToCompany = $data["br_billing_company"]; $subscription->billToAddress = $data["br_billing_address1"] . ' ' . $data["br_billing_address2"]; $subscription->billToCity = $data["br_billing_city"]; $subscription->billToState = $data["br_billing_state"]; $subscription->billToZip = $data["br_billing_zip"]; $subscription->billToCountry = $data["br_billing_country"]; $subscription->shipToFirstName = $data["br_shipping_fname"]; $subscription->shipToLastName = $data["br_shipping_lname"]; $subscription->shipToCompany = $data["br_shipping_company"]; $subscription->shipToAddress = $data["br_shipping_address1"] . ' ' . $data["br_shipping_address2"]; $subscription->shipToCity = $data["br_shipping_city"]; $subscription->shipToState = $data["br_shipping_state"]; $subscription->shipToZip = $data["br_shipping_zip"]; $subscription->shipToCountry = $data["br_shipping_country"]; $refId = "ref" . time(); // Create the request and send it. $request = new AuthorizeNetARB(); // do we need to process in sandbox mode if (array_key_exists("x_test_request", $config) && $config["x_test_request"] == 'FALSE') { $request->setSandbox(FALSE); } $request->setRefId($refId); $response = $request->createSubscription($subscription); $item["subscription"]["code"] = (string) $response->xml->refId; $item["subscription"]["status_id"] = 1; $item["subscription"]["result"] = (string) $response->xml->messages->resultCode; $item["subscription"]["message"] = (string) $response->xml->messages->message->text; $item["subscription"]["subscription_id"] = (int) $response->xml->subscriptionId; $item["subscription"]["renewal_price"] = $renewal_price; $item["subscription"]["trial_occur"] = $trial_occur; $item["subscription"]["trial_price"] = $trial_price; $item["subscription"]["next_renewal"] = $start_dt; $item["subscription"]["cc_last_four"] = substr($data["autho_cc_num"], -4, 4); $item["subscription"]["cc_month"] = $data["autho_cc_month"]; $item["subscription"]["cc_year"] = $data["autho_cc_year"]; return $item["subscription"]; }
private function get_arb($local_api_settings = array()) { if (!empty($local_api_settings)) { $this->log_debug(__METHOD__ . '(): Local API settings enabled.'); $api_settings = array('login_id' => rgar($local_api_settings, 'login_id'), 'transaction_key' => rgar($local_api_settings, 'transaction_key'), 'mode' => rgar($local_api_settings, 'mode')); } else { $api_settings = $this->get_api_settings($local_api_settings); } $this->include_api(); $is_sandbox = $api_settings['mode'] == 'test'; $arb = new AuthorizeNetARB($api_settings['login_id'], $api_settings['transaction_key']); $arb->setSandbox($is_sandbox); return $arb; }
public function handle_expiration($payment) { if (!class_exists('AuthorizeNetAIM')) { require_once WPBDP_PATH . 'vendors/anet_php_sdk/AuthorizeNet.php'; } $recurring = $payment->get_recurring_item(); $listing = WPBDP_Listing::get($payment->get_listing_id()); if (!$listing || !$recurring) { return; } $recurring_id = $payment->get_data('recurring_id'); $arb = new AuthorizeNetARB(wpbdp_get_option('authorize-net-login-id'), wpbdp_get_option('authorize-net-transaction-key')); if (wpbdp_get_option('payments-test-mode')) { $arb->setSandbox(true); } else { $arb->setSandbox(false); } $response = $arb->getSubscriptionStatus($recurring_id); $status = $response->isOk() ? $response->getSubscriptionStatus() : ''; if ('active' == $status) { // If subscription is active, renew automatically for another period. $term_payment = $payment->generate_recurring_payment(); $term_payment->set_status(WPBDP_Payment::STATUS_COMPLETED, WPBDP_Payment::HANDLER_GATEWAY); $term_payment->save(); } else { // If subscription is not active, make item non recurring so it expires normally next time. $recurring_item = $payment->get_recurring_item(); $listing->make_category_non_recurring($recurring_item->rel_id_1); } }
/** * Initializes and returns AuthorizeNetARB object. * * @since 3.5 * * @access protected * @return AuthorizeNetARB The instance of AuthorizeNetARB class. */ protected function _get_arb() { require_once MEMBERSHIP_ABSPATH . '/classes/Authorize.net/AuthorizeNet.php'; // merchant information $login_id = $this->_get_option('api_user'); $transaction_key = $this->_get_option('api_key'); $mode = $this->_get_option('mode', self::MODE_SANDBOX); $arb = new AuthorizeNetARB($login_id, $transaction_key); $arb->setSandbox($mode != self::MODE_LIVE); if (defined('MEMBERSHIP_AUTHORIZE_LOGFILE')) { $arb->setLogFile(MEMBERSHIP_AUTHORIZE_LOGFILE); } return $arb; }