/** * Make prepaid credit card payloads for any payments * remaining in the list * @param Mage_Sales_Model_Order $order * @param IPaymentContainer $paymentContainer * @param SplObjectStorage $processedPayments */ public function addPaymentsToPayload(Mage_Sales_Model_Order $order, IPaymentContainer $paymentContainer, SplObjectStorage $processedPayments) { foreach ($order->getAllPayments() as $payment) { if ($this->_shouldIgnorePayment($payment, $processedPayments)) { continue; } $iterable = $paymentContainer->getPayments(); $payload = $iterable->getEmptyPayPalPayment(); $additionalInfo = new Varien_Object($payment->getAdditionalInformation()); // use the grand total since it has already been adjusted for redeemed giftcards // by the the giftcard module's total collector. $amount = $order->getGrandTotal(); $payload->setAmount($amount)->setAmountAuthorized($amount)->setCreateTimestamp($this->_getAsDateTime($payment->getCreatedAt()))->setAuthorizationResponseCode(self::AUTH_RESPONSE_CODE)->setOrderId($order->getIncrementId())->setTenderType(self::TENDER_TYPE)->setPanIsToken(true)->setAccountUniqueId(self::ACCOUNT_UNIQUE_ID)->setPaymentRequestId($additionalInfo->getAuthRequestId()); // add the new payload $iterable->OffsetSet($payload, $payload); // put the payment in the processed payments set $processedPayments->attach($payment); } }