Пример #1
0
 public function makePayment()
 {
     $payment = $this->getPayment();
     $request = new MakePaymentRequest();
     $billTransaction = new BillTransaction();
     //        $billTransaction->setBillType('Bill Payment');
     $billTransaction->setID1(1);
     $billTransaction->setAmountToApplyToBill(static::$amount);
     $request->getBillTransactions()->setBillTransaction(array($billTransaction));
     $tokenToCharge = new TokenToCharge();
     $tokenToCharge->setAmount(static::$amount);
     $tokenToCharge->setCardProcessingMethod(CardProcessingMethod::UNASSIGNED);
     $tokenToCharge->setExpectedFeeAmount(static::$feeAmount);
     $tokenToCharge->setToken(static::$token);
     $request->getTokensToCharge()->setTokenToCharge(array($tokenToCharge));
     $transaction = new Transaction();
     $transaction->setAmount(static::$amount);
     $transaction->setFeeAmount(static::$feeAmount);
     $request->setTransaction($transaction);
     $paymentDetails = new PaymentDetails();
     $paymentDetails->setMerchantName($GLOBALS['__PAYUM_HEARTLAND_MERCHANT_NAME']);
     $paymentDetails->setRequest($request);
     $captureRequest = new CaptureRequest($paymentDetails);
     $payment->execute($captureRequest);
     $statusRequest = new BinaryMaskStatusRequest($captureRequest->getModel());
     $payment->execute($statusRequest);
     /** @var GetTokenResponse $response */
     $response = $statusRequest->getModel()->getResponse();
     $this->assertTrue($statusRequest->isSuccess(), $paymentDetails->getMessages());
 }