/**
  * @param \Symfony\Component\HttpFoundation\Request $request
  *
  * @return \Symfony\Component\HttpFoundation\StreamedResponse
  */
 public function statusUpdateAction(Request $request)
 {
     //Payone always sends status updates in ISO-8859-1. We transform them to utf8.
     $requestParameters = $request->request->all();
     $map = ['key' => 'key', 'aid' => 'aid', 'mode' => 'mode', 'customerid' => null, 'portalid' => 'portalid', 'sequencenumber' => 'sequencenumber', 'txaction' => 'txaction', 'receivable' => 'receivable', 'price' => 'price', 'balance' => 'balance', 'currency' => 'currency', 'txid' => 'txid', 'userid' => 'userid', 'txtime' => 'txtime', 'clearingtype' => 'clearingtype', 'reference' => 'reference', 'reminderlevel' => 'reminderlevel'];
     $dataArray = [];
     foreach ($map as $transferObjectKey => $postDataKey) {
         if (!isset($requestParameters[$postDataKey])) {
             continue;
         }
         $dataArray[$transferObjectKey] = utf8_encode($requestParameters[$postDataKey]);
     }
     $payoneTransactionStatusUpdateTransfer = new PayoneTransactionStatusUpdateTransfer();
     $payoneTransactionStatusUpdateTransfer->fromArray($dataArray);
     $response = $this->getFacade()->processTransactionStatusUpdate($payoneTransactionStatusUpdateTransfer);
     $transactionId = $payoneTransactionStatusUpdateTransfer->getTxid();
     $this->triggerEventsOnSuccess($response, $transactionId, $dataArray);
     $callback = function () use($response) {
         echo $response;
     };
     return $this->streamedResponse($callback);
 }
 /**
  * @param \Generated\Shared\Transfer\PayoneTransactionStatusUpdateTransfer $transactionStatusUpdateTransfer
  *
  * @return \Spryker\Zed\Payone\Business\Api\TransactionStatus\TransactionStatusRequest
  */
 public function createTransactionStatusUpdateRequest(PayoneTransactionStatusUpdateTransfer $transactionStatusUpdateTransfer)
 {
     return new TransactionStatusRequest($transactionStatusUpdateTransfer->toArray());
 }
Exemple #3
0
 /**
  * @return void
  */
 public function transactionUpdateAction()
 {
     $order = $this->getOrder();
     $params = ['aid' => '25811', 'mode' => 'test', 'customerid' => '999', 'key' => hash('md5', 'dFWR8GlNG8aonscn'), 'portalid' => '2018246', 'sequencenumber' => '0', 'txaction' => 'appointed', 'receivable' => '0', 'balance' => '0', 'currency' => 'EUR', 'txid' => PayoneApiConstants::TEST_TRANSACTION_ID, 'userid' => '67518130', 'txtime' => '1354187955', 'clearingtype' => 'wlt', 'reference' => $order->getOrderReference()];
     $transactionStatusUpdateTransfer = new PayoneTransactionStatusUpdateTransfer();
     $transactionStatusUpdateTransfer->fromArray($params);
     $r = $this->getFacade()->processTransactionStatusUpdate($transactionStatusUpdateTransfer);
     echo '<pre>' . print_r($r, false) . '</pre>';
     die;
 }