コード例 #1
0
 /**
  * @param Payone_Api_Request_Debit $request
  */
 protected function mapDefaultDebitParameters(Payone_Api_Request_Debit $request)
 {
     $order = $this->getOrder();
     $transaction = $this->getFactory()->getModelTransaction();
     $transaction = $transaction->loadByPayment($order->getPayment());
     $request->setTxid($order->getPayment()->getLastTransId());
     $request->setSequencenumber($transaction->getNextSequenceNumber());
     $request->setCurrency($order->getOrderCurrencyCode());
     $request->setAmount($this->getAmount() * -1);
     $request->setRequest(Payone_Api_Enum_RequestType::DEBIT);
     $request->setUseCustomerdata('yes');
 }
コード例 #2
0
 public function refundAmount($data)
 {
     $this->log("refunding amount\n" . print_r($data, true));
     $config = $this->getConfig();
     $global_config = $config['global'];
     $standard_parameters = $this->getStandardParameters('debit', $global_config);
     unset($standard_parameters['responsetype']);
     unset($standard_parameters['successurl']);
     unset($standard_parameters['errorurl']);
     unset($standard_parameters['hash']);
     $request_parameters = array('aid' => $global_config['subaccount_id'], 'key' => $global_config['key']);
     $params = array_merge($standard_parameters, $request_parameters);
     $builder = new Payone_Builder($this->getPayoneConfig());
     $service = $builder->buildServicePaymentDebit();
     $request = new Payone_Api_Request_Debit($params);
     $request->setCurrency($data['currency']);
     $request->setSequencenumber($this->_getNextSequencenumber($data['txid']));
     $request->setTxid($data['txid']);
     if (isset($data['positions'])) {
         $request->setInvoicing($this->_getInvoicingTransaction($data));
         $request->setAmount(round($this->amount, 2) * -1);
     } else {
         $request->setAmount(round($data['amount'], 2) * -1);
     }
     if (false && !empty($data['bankaccount'])) {
         $payment = new Payone_Api_Request_Parameter_Refund_PaymentMethod_BankAccount();
         $payment->setBankaccount($data['bankaccount']);
         $payment->setBankbranchcode($data['bankbranchcode']);
         $payment->setBankcheckdigit($data['bankcheckdigit']);
         $payment->setBankcode($data['bankcode']);
         $payment->setBankcountry($data['bankcountry']);
         $request->setPayment($payment);
     }
     $this->log("debit request:\n" . print_r($request, true));
     $response = $service->debit($request);
     if ($response instanceof Payone_Api_Response_Debit_Approved) {
         $this->log("SUCCESS refunding response:\n" . print_r($response, true));
     } else {
         if ($response instanceof Payone_Api_Response_Error) {
             $this->log("ERROR refunding response:\n" . print_r($response, true));
         }
     }
     return $response;
 }
コード例 #3
0
 protected function moptPayone_callDebitService($params, $invoicing = null)
 {
     $service = $this->moptPayone__sdk__Builder->buildServicePaymentDebit();
     $repository = Shopware()->Models()->getRepository('Shopware\\CustomModels\\MoptPayoneApiLog\\MoptPayoneApiLog');
     $service->getServiceProtocol()->addRepository($repository);
     $request = new Payone_Api_Request_Debit($params);
     if ($invoicing) {
         $request->setInvoicing($invoicing);
     }
     return $service->debit($request);
 }