public function testGetData() { $card = new CreditCard($this->getValidCard()); $card->setStartMonth(1); $card->setStartYear(2000); $this->request = new RestPurchaseRequest($this->getHttpClient(), $this->getHttpRequest()); $this->request->initialize(array('amount' => '10.00', 'currency' => 'USD', 'card' => $card)); $this->request->setTransactionId('abc123'); $this->request->setDescription('Sheep'); $this->request->setClientIp('127.0.0.1'); $data = $this->request->getData(); $this->assertSame('sale', $data['intent']); $this->assertSame('credit_card', $data['payer']['payment_method']); $this->assertSame('10.00', $data['transactions'][0]['amount']['total']); $this->assertSame('USD', $data['transactions'][0]['amount']['currency']); $this->assertSame('abc123 : Sheep', $data['transactions'][0]['description']); $this->assertSame($card->getNumber(), $data['payer']['funding_instruments'][0]['credit_card']['number']); $this->assertSame($card->getBrand(), $data['payer']['funding_instruments'][0]['credit_card']['type']); $this->assertSame($card->getExpiryMonth(), $data['payer']['funding_instruments'][0]['credit_card']['expire_month']); $this->assertSame($card->getExpiryYear(), $data['payer']['funding_instruments'][0]['credit_card']['expire_year']); $this->assertSame($card->getCvv(), $data['payer']['funding_instruments'][0]['credit_card']['cvv2']); $this->assertSame($card->getFirstName(), $data['payer']['funding_instruments'][0]['credit_card']['first_name']); $this->assertSame($card->getLastName(), $data['payer']['funding_instruments'][0]['credit_card']['last_name']); $this->assertSame($card->getAddress1(), $data['payer']['funding_instruments'][0]['credit_card']['billing_address']['line1']); $this->assertSame($card->getAddress2(), $data['payer']['funding_instruments'][0]['credit_card']['billing_address']['line2']); $this->assertSame($card->getCity(), $data['payer']['funding_instruments'][0]['credit_card']['billing_address']['city']); $this->assertSame($card->getState(), $data['payer']['funding_instruments'][0]['credit_card']['billing_address']['state']); $this->assertSame($card->getPostcode(), $data['payer']['funding_instruments'][0]['credit_card']['billing_address']['postal_code']); $this->assertSame($card->getCountry(), $data['payer']['funding_instruments'][0]['credit_card']['billing_address']['country_code']); }
public function testGetBrandJcb() { $card = new CreditCard(array('number' => '3530111333300000')); $this->assertSame(CreditCard::BRAND_JCB, $card->getBrand()); }
/** * Returns credit card/bank account related parameters * * @param CreditCard $card * @return array */ protected function getAccountParams($card) { return ['ACCOUNT.HOLDER' => trim($card->getFirstName() . ' ' . $card->getLastName()), 'ACCOUNT.ID' => $card->getAccountId(), 'ACCOUNT.BRAND' => $card->getBrand(), 'ACCOUNT.NUMBER' => $card->getNumber(), 'ACCOUNT.BANKNAME' => '', 'ACCOUNT.COUNTRY' => $card->getCountry(), 'ACCOUNT.AUTHORISATION' => '', 'ACCOUNT.VERIFICATION' => $card->getCvv(), 'ACCOUNT.YEAR' => $card->getExpiryYear(), 'ACCOUNT.MONTH' => $card->getExpiryMonth(), 'RECURRENCE.MODE' => 'INITIAL']; }