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()); }
/** * @test */ public function checkErrorResponse() { $payment = $this->getPayment(); $request = new MakePaymentRequest(); $request->setIncludeReceiptInResponse(false); $request->getCredential(); $paymentDetails = new PaymentDetails(); $paymentDetails->setRequest($request); $captureRequest = new CaptureRequest($paymentDetails); $payment->execute($captureRequest); $statusRequest = new BinaryMaskStatusRequest($captureRequest->getModel()); $payment->execute($statusRequest); $model = $statusRequest->getModel(); $this->assertFalse($statusRequest->isSuccess()); $this->assertEmpty($model['transactionId']); $this->assertNotEmpty($model['messages']); $this->assertTrue(is_string($model['messages'])); }