示例#1
0
 public function testBuildHeaderWithIdempotency()
 {
     $request = new CreateRequest();
     $request->setSlipType('payment');
     $request->setCustomerKey('UNIQUEKEY');
     $request->setTransaction('24.95', 'EUR');
     $header = $this->client->buildHeader($request);
     $this->assertEquals('Host: api.barzahlen.de', $header[0]);
     $this->assertContains('Date: ', $header[1]);
     $this->assertEquals('User-Agent: PHP SDK v2.0.2', $header[2]);
     $this->assertRegExp('/^Authorization: BZ1-HMAC-SHA256 DivisionId=12345, Signature=[a-f0-9]{64}$/', $header[3]);
     $this->assertRegExp('/^Idempotency-Key: [a-f0-9]{32}$/', $header[4]);
 }
 public function testSetMaximalParametersBody()
 {
     $this->request->setSlipType('payment');
     $this->request->setReferenceKey('REFKEY123');
     $this->request->setHookUrl('https://www.example.tld/barzahlen/callback');
     $this->request->setExpiresAt('2016-04-01T12:34:56Z');
     $this->request->setCustomerKey('*****@*****.**');
     $this->request->setCustomerCellPhone('01234567910');
     $this->request->setCustomerEmail('*****@*****.**');
     $this->request->setCustomerLanguage('de_DE');
     $this->request->setAddress(array('street_and_no' => 'Wallstr. 14a', 'zipcode' => '10179', 'city' => 'Berlin', 'country' => 'DE'));
     $this->request->setTransaction('123.45', 'EUR');
     $this->request->addMetadata('promo', 'summer2016');
     $expectedBody = '{"slip_type":"payment","transactions":[{"amount":"123.45","currency":"EUR"}],"customer":{"key":"*****@*****.**","cell_phone":"01234567910","email":"*****@*****.**","language":"de_DE"},"reference_key":"REFKEY123","hook_url":"https:\\/\\/www.example.tld\\/barzahlen\\/callback","expires_at":"2016-04-01T12:34:56Z","show_stores_near":{"address":{"street_and_no":"Wallstr. 14a","zipcode":"10179","city":"Berlin","country":"DE"}},"metadata":{"promo":"summer2016"}}';
     $this->assertEquals($expectedBody, $this->request->getBody());
 }