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()); }
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]); }