Exemplo n.º 1
0
 /**
  * Get subscription ID
  *
  * @see https://github.com/pronamic-wpmudev/membership-premium/blob/3.5.1.2/classes/Membership/Model/Subscription.php#L57
  * @return string
  */
 public function get_subscription_id()
 {
     if (Pronamic_WP_Pay_Extensions_WPMUDEV_Membership_Extension::is_membership2()) {
         return $this->subscription->id;
     }
     // @see https://github.com/pronamic-wpmudev/membership-premium/blob/3.5.1.2/classes/Membership/Model/Subscription.php#L32
     return $this->subscription->sub_id();
 }
Exemplo n.º 2
0
 /**
  * Get subscription ID
  *
  * @see https://github.com/pronamic-wpmudev/membership-premium/blob/3.5.1.2/classes/Membership/Model/Subscription.php#L57
  * @return string
  */
 public function get_subscription_id()
 {
     // @see https://github.com/pronamic-wpmudev/membership-premium/blob/3.5.1.2/classes/Membership/Model/Subscription.php#L32
     return $this->subscription->sub_id();
 }
Exemplo n.º 3
0
 /**
  * Processes transactions.
  *
  * @since  3.5
  *
  * @access protected
  * @global array $M_options The array of plugin options.
  */
 protected function _commit_transactions()
 {
     global $M_options;
     $sub_id = $this->_subscription->sub_id();
     $notes = $this->_get_option('mode', self::MODE_SANDBOX) != self::MODE_LIVE ? 'Sandbox' : '';
     // process each transaction information and save it to CIM
     foreach ($this->_transactions as $index => $info) {
         if (is_null($info)) {
             continue;
         }
         // :: NOTE :: This code added only for developers who know what they are doing. You probably should not mess with this!
         // Remove (VOID) auth only transactions for serial purchases
         //if( isset( $info['void'] ) && true == $info['void'] ) {
         //
         //	if ( 'aim' == $info['method'] ) {
         //		$this->_get_aim( true, false )->void( $info['transaction'] );
         //	} elseif ( 'cim' == $info['method'] ) {
         //		$this->_get_cim()->createCustomerProfileTransaction( 'Void', $info['transaction'] );
         //	}
         //
         //	$this->_record_transaction(
         //		$this->_member->ID,
         //		$sub_id,
         //		$info['amount'],
         //		$M_options['paymentcurrency'],
         //		$info['date'],
         //		$info['transaction'],
         //		self::TRANSACTION_TYPE_VOIDED,
         //		__('Authorize only transaction removed.', 'membership' )
         //	);
         //}
         $status = 0;
         if ($info['method'] == 'aim') {
             $status = self::TRANSACTION_TYPE_AUTHORIZED;
             // capture first transaction
             if ($index == 0) {
                 $this->_get_aim(true, false)->priorAuthCapture($info['transaction']);
                 $status = self::TRANSACTION_TYPE_CAPTURED;
             }
         } elseif ($info['method'] == 'cim') {
             $status = self::TRANSACTION_TYPE_CIM_AUTHORIZED;
             // capture first transaction
             if ($index == 0) {
                 $transaction = $this->_get_cim_transaction();
                 $transaction->transId = $info['transaction'];
                 $transaction->amount = $info['amount'];
                 $lineItem = new AuthorizeNetLineItem();
                 $lineItem->itemId = $this->_subscription->sub_id();
                 $lineItem->name = $this->_subscription->sub_name();
                 $lineItem->description = $this->_subscription->sub_description();
                 $lineItem->quantity = 1;
                 $lineItem->unitPrice = $info['amount'];
                 $transaction->lineItems = array($lineItem);
                 $this->_get_cim()->createCustomerProfileTransaction('PriorAuthCapture', $transaction);
                 $status = self::TRANSACTION_TYPE_CAPTURED;
             }
         } elseif ($info['method'] == 'arb') {
             $status = self::TRANSACTION_TYPE_RECURRING;
         }
         if ($status) {
             // save transaction information in the database
             $this->_record_transaction($this->_member->ID, $sub_id, $info['amount'], $M_options['paymentcurrency'], $info['date'], $info['transaction'], $status, $notes);
         }
     }
 }