/** * 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(); }
/** * 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(); }
/** * 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); } } }