当前位置: 首页>>代码示例>>PHP>>正文


PHP Exception\RequestNotSupportedException类代码示例

本文整理汇总了PHP中Payum\Core\Exception\RequestNotSupportedException的典型用法代码示例。如果您正苦于以下问题:PHP RequestNotSupportedException类的具体用法?PHP RequestNotSupportedException怎么用?PHP RequestNotSupportedException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了RequestNotSupportedException类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: execute

 /**
  * {@inheritdoc}
  *
  * @param $request Capture
  */
 public function execute($request)
 {
     RequestNotSupportedException::assertSupports($this, $request);
     /** @var $payment SyliusPaymentInterface */
     $payment = $request->getModel();
     /** @var OrderInterface $order */
     $order = $payment->getOrder();
     $this->gateway->execute($status = new GetStatus($payment));
     if ($status->isNew()) {
         try {
             $this->gateway->execute($convert = new Convert($payment, 'array', $request->getToken()));
             $payment->setDetails($convert->getResult());
         } catch (RequestNotSupportedException $e) {
             $totalAmount = $order->getTotal();
             $payumPayment = new PayumPayment();
             $payumPayment->setNumber($order->getNumber());
             $payumPayment->setTotalAmount($totalAmount);
             $payumPayment->setCurrencyCode($order->getCurrencyCode());
             $payumPayment->setClientEmail($order->getCustomer()->getEmail());
             $payumPayment->setClientId($order->getCustomer()->getId());
             $payumPayment->setDescription(sprintf('Payment contains %d items for a total of %01.2f', $order->getItems()->count(), round($totalAmount / 100, 2)));
             $payumPayment->setDetails($payment->getDetails());
             $this->gateway->execute($convert = new Convert($payumPayment, 'array', $request->getToken()));
             $payment->setDetails($convert->getResult());
         }
     }
     $details = ArrayObject::ensureArrayObject($payment->getDetails());
     try {
         $request->setModel($details);
         $this->gateway->execute($request);
     } finally {
         $payment->setDetails((array) $details);
     }
 }
开发者ID:sylius,项目名称:sylius,代码行数:39,代码来源:CapturePaymentAction.php

示例2: execute

 /**
  * {@inheritDoc}
  */
 public function execute($request)
 {
     /** @var $request StatusRequestInterface */
     if (false == $this->supports($request)) {
         throw RequestNotSupportedException::createActionNotSupported($this, $request);
     }
     /** @var PaymentInterface $payment */
     $payment = $request->getModel();
     if (in_array($payment->getState(), array(PaymentInterface::STATE_APPROVED, PaymentInterface::STATE_DEPOSITED))) {
         $request->markSuccess();
         return;
     }
     if (in_array($payment->getState(), array(PaymentInterface::STATE_DEPOSITING))) {
         $request->markPending();
         return;
     }
     if (in_array($payment->getState(), array(PaymentInterface::STATE_CANCELED))) {
         $request->markCanceled();
         return;
     }
     if (in_array($payment->getState(), array(PaymentInterface::STATE_EXPIRED))) {
         $request->markExpired();
         return;
     }
     if (in_array($payment->getState(), array(PaymentInterface::STATE_FAILED))) {
         $request->markFailed();
         return;
     }
     if (in_array($payment->getState(), array(PaymentInterface::STATE_NEW, PaymentInterface::STATE_APPROVING))) {
         $request->markNew();
         return;
     }
     $request->markUnknown();
 }
开发者ID:sanchojaf,项目名称:oldmytriptocuba,代码行数:37,代码来源:StatusAction.php

示例3: execute

 /**
  * {@inheritDoc}
  */
 public function execute($request)
 {
     if (!$this->supports($request)) {
         throw RequestNotSupportedException::createActionNotSupported($this, $request);
     }
     $model = ArrayObject::ensureArrayObject($request->getModel());
     if ($model['_status']) {
         return;
     }
     if (false == $model->validateNotEmpty(array('card'), false)) {
         try {
             $creditCardRequest = new ObtainCreditCardRequest();
             $this->payment->execute($creditCardRequest);
             $card = $creditCardRequest->obtain();
             $firstName = $lastName = '';
             list($firstName, $lastName) = explode(' ', $card->getHolder(), 1);
             $model['card'] = new SensitiveValue(array('number' => $card->getNumber(), 'cvv' => $card->getSecurityCode(), 'expiryMonth' => $card->getExpireAt()->format('m'), 'expiryYear' => $card->getExpireAt()->format('y'), 'firstName' => $firstName, 'lastName' => $lastName));
         } catch (RequestNotSupportedException $e) {
             throw new LogicException('Credit card details has to be set explicitly or there has to be an action that supports ObtainCreditCardRequest request.');
         }
     }
     $response = $this->gateway->purchase($model->toUnsafeArray())->send();
     $model['_reference'] = $response->getTransactionReference();
     $model['_status'] = $response->isSuccessful() ? 'success' : 'failed';
     $model['_status_code'] = $response->getCode();
     $model['_status_message'] = $response->isSuccessful() ? '' : $response->getMessage();
 }
开发者ID:sanchojaf,项目名称:oldmytriptocuba,代码行数:30,代码来源:CaptureAction.php

示例4: execute

 /**
  * {@inheritdoc}
  */
 public function execute($request)
 {
     RequestNotSupportedException::assertSupports($this, $request);
     /** @var GetStatusInterface $request */
     $model = ArrayObject::ensureArrayObject($request->getModel());
     if (false == $model['transaction_id']) {
         $request->markNew();
         return;
     }
     if (false != ($responseCode = $model['response_code'])) {
         // Success
         if ('00' === $responseCode) {
             $request->markCaptured();
             return;
         }
         // Cancelled by user
         if ('17' === $responseCode) {
             $request->markCanceled();
             return;
         }
         // Failure
         $request->markFailed();
         return;
     }
     $request->markPending();
 }
开发者ID:ekyna,项目名称:PayumSips,代码行数:29,代码来源:StatusAction.php

示例5: execute

 /**
  * {@inheritDoc}
  *
  * @param GetStatusInterface $request
  */
 public function execute($request)
 {
     RequestNotSupportedException::assertSupports($this, $request);
     $model = ArrayObject::ensureArrayObject($request->getModel());
     if ($model['error_code']) {
         $request->markFailed();
         return;
     }
     if ($model['invoice_number']) {
         $request->markCaptured();
         return;
     }
     if ($model['reservation']) {
         $request->markAuthorized();
         return;
     }
     if (false == $model['status'] || Constants::STATUS_CHECKOUT_INCOMPLETE == $model['status']) {
         $request->markNew();
         return;
     }
     if (Constants::STATUS_CHECKOUT_COMPLETE == $model['status']) {
         $request->markPending();
         return;
     }
     $request->markUnknown();
 }
开发者ID:eamador,项目名称:Payum,代码行数:31,代码来源:StatusAction.php

示例6: execute

 /**
  * {@inheritdoc}
  */
 public function execute($request)
 {
     /**
      * @var $request \Payum\Core\Request\CaptureRequest
      */
     if (false == $this->supports($request)) {
         throw RequestNotSupportedException::createActionNotSupported($this, $request);
     }
     /** @var Payment $model */
     $model = $request->getModel();
     if (false == isset($model->state) && isset($model->payer->payment_method) && 'paypal' == $model->payer->payment_method) {
         $model->create($this->api);
         foreach ($model->links as $link) {
             if ($link->rel == 'approval_url') {
                 throw new RedirectUrlInteractiveRequest($link->href);
             }
         }
     }
     if (false == isset($model->state) && isset($model->payer->payment_method) && 'credit_card' == $model->payer->payment_method) {
         $model->create($this->api);
     }
     if (true == isset($model->state) && isset($model->payer->payment_method) && 'paypal' == $model->payer->payment_method) {
         $execution = new PaymentExecution();
         $execution->payer_id = $_GET['PayerID'];
         //Execute the payment
         $model->execute($execution, $this->api);
     }
 }
开发者ID:sanchojaf,项目名称:oldmytriptocuba,代码行数:31,代码来源:CaptureAction.php

示例7: execute

 /**
  * {@inheritDoc}
  */
 public function execute($request)
 {
     /** @var $request Capture */
     if (false == $this->supports($request)) {
         throw RequestNotSupportedException::createActionNotSupported($this, $request);
     }
     $model = new ArrayObject($request->getModel());
     if (is_numeric($model['RESULT'])) {
         return;
     }
     $cardFields = array('ACCT', 'CVV2', 'EXPDATE');
     if (false == $model->validateNotEmpty($cardFields, false)) {
         try {
             $this->payment->execute($obtainCreditCard = new ObtainCreditCard());
             $card = $obtainCreditCard->obtain();
             $model['EXPDATE'] = new SensitiveValue($card->getExpireAt()->format('my'));
             $model['ACCT'] = $card->getNumber();
             $model['CVV2'] = $card->getSecurityCode();
         } catch (RequestNotSupportedException $e) {
             throw new LogicException('Credit card details has to be set explicitly or there has to be an action that supports ObtainCreditCard request.');
         }
     }
     $buzzRequest = new Request();
     $buzzRequest->setFields($model->toUnsafeArray());
     $response = $this->api->doPayment($buzzRequest);
     $model->replace($response);
 }
开发者ID:Studio-40,项目名称:Payum,代码行数:30,代码来源:CaptureAction.php

示例8: execute

 /**
  * {@inheritDoc}
  *
  * @param Notify $request
  */
 public function execute($request)
 {
     RequestNotSupportedException::assertSupports($this, $request);
     $details = ArrayObject::ensureArrayObject($request->getModel());
     $this->gateway->execute($httpRequest = new GetHttpRequest());
     if (!isset($httpRequest->request['merchantReference']) || empty($httpRequest->request['merchantReference'])) {
         $details['response_status'] = 401;
         return;
     }
     if (!isset($details['merchantReference']) || $details['merchantReference'] != $httpRequest->request['merchantReference']) {
         $details['response_status'] = 402;
         return;
     }
     if (false === $this->api->verifyNotification($httpRequest->request)) {
         $details['response_status'] = 403;
         return;
     }
     // Check notification code
     if (isset($httpRequest->request['eventCode'])) {
         $httpRequest->request['authResult'] = $httpRequest->request['eventCode'];
         if ('AUTHORISATION' == $httpRequest->request['eventCode']) {
             if ('true' == $httpRequest->request['success']) {
                 $httpRequest->request['authResult'] = 'AUTHORISED';
             } elseif (!empty($httpRequest->request['reason'])) {
                 $httpRequest->request['authResult'] = 'REFUSED';
             }
         }
     }
     $details['authResult'] = $httpRequest->request['authResult'];
     $details['response_status'] = 200;
 }
开发者ID:pixers,项目名称:payum-adyen,代码行数:36,代码来源:NotifyAction.php

示例9: execute

 /**
  * {@inheritdoc}
  */
 public function execute($request)
 {
     /** @var $request CaptureRequest */
     if (false == $this->supports($request)) {
         throw RequestNotSupportedException::createActionNotSupported($this, $request);
     }
     $model = ArrayObject::ensureArrayObject($request->getModel());
     if (false == $model['PAYMENTREQUEST_0_PAYMENTACTION']) {
         $model['PAYMENTREQUEST_0_PAYMENTACTION'] = Api::PAYMENTACTION_SALE;
     }
     if (false == $model['TOKEN']) {
         if (false == $model['RETURNURL'] && $request instanceof SecuredCaptureRequest) {
             $model['RETURNURL'] = $request->getToken()->getTargetUrl();
         }
         if (false == $model['CANCELURL'] && $request instanceof SecuredCaptureRequest) {
             $model['CANCELURL'] = $request->getToken()->getTargetUrl();
         }
         $this->payment->execute(new SetExpressCheckoutRequest($model));
         $this->payment->execute(new AuthorizeTokenRequest($model));
     }
     $this->payment->execute(new SyncRequest($model));
     if ($model['PAYERID'] && Api::CHECKOUTSTATUS_PAYMENT_ACTION_NOT_INITIATED == $model['CHECKOUTSTATUS'] && $model['PAYMENTREQUEST_0_AMT'] > 0) {
         $this->payment->execute(new DoExpressCheckoutPaymentRequest($model));
     }
     $this->payment->execute(new SyncRequest($model));
 }
开发者ID:sanchojaf,项目名称:oldmytriptocuba,代码行数:29,代码来源:CaptureAction.php

示例10: execute

 /**
  * {@inheritDoc}
  */
 public function execute($request)
 {
     /** @var $request Sync */
     RequestNotSupportedException::assertSupports($this, $request);
     $model = ArrayObject::ensureArrayObject($request->getModel());
     if (false == $model['token']) {
         return;
     }
     $this->payment->execute(new GetTransactionDetails($model));
     if (isset($model['error_code']) && $model['error_code'] === Errors::ERRCODE_NO_ERROR) {
         if (isset($model['transaction_status'])) {
             if ($model['transaction_status'] === TransactionStatus::PAID) {
                 $model['state'] = StateInterface::STATE_CONFIRMED;
             } else {
                 if ($model['transaction_status'] === TransactionStatus::NOT_PAID) {
                     $model['state'] = StateInterface::STATE_ERROR;
                 } else {
                     if ($model['transaction_status'] === TransactionStatus::PAID_WAITING_FOR_PROCESS) {
                         $model['state'] = StateInterface::STATE_NOTIFIED;
                     }
                 }
             }
         }
     }
 }
开发者ID:ekipower,项目名称:payum-nganluong,代码行数:28,代码来源:PaymentDetailsSyncAction.php

示例11: execute

    /**
     * {@inheritDoc}
     */
    public function execute($request)
    {
        /** @var $request Sync */
        RequestNotSupportedException::assertSupports($this, $request);

        $this->payment->execute(new CheckAgreement($request->getModel()));
    }
开发者ID:xxspartan16,项目名称:BMS-Market,代码行数:10,代码来源:AgreementDetailsSyncAction.php

示例12: execute

 /**
  * {@inheritDoc}
  */
 public function execute($request)
 {
     RequestNotSupportedException::assertSupports($this, $request);
     $model = ArrayObject::ensureArrayObject($request->getModel());
     if (null === $model['Signature']) {
         $request->markNew();
         return;
     }
     if ($model['Signature'] && null === $model['Status']) {
         $request->markPending();
         return;
     }
     switch ($model['Status']) {
         case Api::PAYMENT_STATUS_AUTHORIZED:
             $request->markAuthorized();
             break;
         case Api::PAYMENT_STATUS_NOT_AUTHORIZED:
             $request->markFailed();
             break;
         case Api::PAYMENT_STATUS_PAID:
             $request->markCaptured();
             break;
         case Api::PAYMENT_STATUS_CANCELED:
             $request->markCanceled();
             break;
         case Api::PAYMENT_STATUS_WAITING:
             $request->markPending();
             break;
         default:
             $request->markUnknown();
             break;
     }
 }
开发者ID:fullpipe,项目名称:payum-uniteller,代码行数:36,代码来源:StatusAction.php

示例13: execute

 /**
  * {@inheritDoc}
  */
 public function execute($request)
 {
     /** @var $request GetStatusInterface */
     RequestNotSupportedException::assertSupports($this, $request);
     $model = ArrayObject::ensureArrayObject($request->getModel());
     if (isset($model['status'])) {
         switch ($model['status']) {
             case 'NEW':
                 $request->markNew();
                 break;
             case 'PAID':
                 $request->markCaptured();
                 break;
             case 'CANCELLED_BY_MERCHANT':
             case 'CANCELLED_BY_ADMIN':
                 $request->markCanceled();
                 break;
             case 'EXPIRED':
                 $request->markExpired();
                 break;
             case 'INVALID':
                 $request->markFailed();
                 break;
         }
     }
 }
开发者ID:khal3d,项目名称:payum-cashnpay,代码行数:29,代码来源:StatusAction.php

示例14: execute

    /**
     * {@inheritDoc}
     *
     * @param ModelAggregateInterface|ModelAwareInterface $request
     */
    public function execute($request)
    {
        RequestNotSupportedException::assertSupports($this, $request);

        /** @var DetailsAggregateInterface $model */
        $model = $request->getModel();
        $details = $model->getDetails();

        if (is_array($details)) {
            $details = ArrayObject::ensureArrayObject($details);
        }

        $request->setModel($details);
        try {
            $this->payment->execute($request);

            if ($model instanceof DetailsAwareInterface) {
                $model->setDetails($details);
            }
        } catch (\Exception $e) {
            if ($model instanceof DetailsAwareInterface) {
                $model->setDetails($details);
            }

            throw $e;
        }
    }
开发者ID:xxspartan16,项目名称:BMS-Market,代码行数:32,代码来源:ExecuteSameRequestWithModelDetailsAction.php

示例15: execute

 /**
  * {@inheritDoc}
  *
  * @param Capture $request
  */
 public function execute($request)
 {
     /** @var $request Capture */
     RequestNotSupportedException::assertSupports($this, $request);
     $model = ArrayObject::ensureArrayObject($request->getModel());
     if (null !== $model['token']) {
         return;
     }
     if (false == $model['return_url'] && $request->getToken()) {
         $model['return_url'] = $request->getToken()->getTargetUrl();
     }
     if (false == $model['cancel_url'] && $request->getToken()) {
         $model['cancel_url'] = $request->getToken()->getTargetUrl();
     }
     $this->payment->execute(new SetExpressCheckout($model));
     if ($model['error_code'] == '00') {
         if (!isset($model['checkout_url'])) {
             throw new \LogicException('Payment gateway Nganluong is not returned "checkout_url"');
         }
         throw new HttpRedirect($model['checkout_url']);
     } else {
         return;
         // failed
     }
 }
开发者ID:ekipower,项目名称:payum-nganluong,代码行数:30,代码来源:CaptureOnsiteAction.php


注:本文中的Payum\Core\Exception\RequestNotSupportedException类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。