public function testAmountAccessors() { $request = new ChargeRequest(); $request->setAmount(new Money(5000.0, 'JPY')); $this->assertEquals(new Money(5000.0, 'JPY'), $request->getAmount()); $request->setAmount(300.5, 'USD'); $this->assertEquals(new Money(300.5, 'USD'), $request->getAmount()); }
/** * Creates a new charge. * * @param ChargeRequest $request * @return Charge * * @throws RequestException */ public function charge(ChargeRequest $request) { $result = $this->request('POST', '/charges', ['card' => $request->getToken(), 'amount' => $request->getAmount() ? $request->getAmount()->getAmount() : null, 'currency' => $request->getAmount() ? $request->getAmount()->getCurrency() : null, 'capture' => $request->isCapture() ? 'true' : 'false', 'products' => json_encode($request->getProducts())]); return $this->objectConverter->convert($result); }