public function testBadPaymentMethods() { $gateway = new Braintree\Gateway(array('clientId' => 'client_id$development$integration_client_id', 'clientSecret' => 'client_secret$development$integration_client_secret')); $result = $gateway->merchant()->create(array('email' => '*****@*****.**', 'countryCodeAlpha3' => 'USA', 'paymentMethods' => ['fake_money'])); $this->assertEquals(false, $result->success); $errors = $result->errors->forKey('merchant')->onAttribute('paymentMethods'); $this->assertEquals(Braintree\Error\Codes::MERCHANT_ACCOUNT_PAYMENT_METHODS_ARE_INVALID, $errors[0]->code); }
public function testInvalidCurrencyForMultiCurrency() { $gateway = new Braintree\Gateway(['clientId' => 'client_id$development$signup_client_id', 'clientSecret' => 'client_secret$development$signup_client_secret']); $result = $gateway->merchant()->create(['email' => '*****@*****.**', 'countryCodeAlpha3' => 'USA', 'paymentMethods' => ['paypal'], 'currencies' => ['FAKE', 'USD'], 'paypalAccount' => ['clientId' => 'fake_client_id', 'clientSecret' => 'fake_client_secret']]); $this->assertEquals(false, $result->success); $errors = $result->errors->forKey('merchant')->onAttribute('currencies'); $this->assertEquals(Braintree\Error\Codes::MERCHANT_CURRENCIES_ARE_INVALID, $errors[0]->code); }
public function testCreateForCurrencyWithDuplicateId() { $gateway = new Braintree\Gateway(['clientId' => 'client_id$development$signup_client_id', 'clientSecret' => 'client_secret$development$signup_client_secret']); $result = $gateway->merchant()->create(['email' => '*****@*****.**', 'countryCodeAlpha3' => 'GBR', 'paymentMethods' => ['credit_card', 'paypal']]); $this->assertEquals(true, $result->success); $gateway = new Braintree\Gateway(['accessToken' => $result->credentials->accessToken]); $merchantAccount = $result->merchant->merchantAccounts[0]; $result = $gateway->merchantAccount()->createForCurrency(['currency' => "USD", 'id' => $merchantAccount->id]); $this->assertEquals(false, $result->success); $errors = $result->errors->forKey('merchant')->onAttribute('id'); $this->assertEquals(Braintree\Error\Codes::MERCHANT_MERCHANT_ACCOUNT_EXISTS_FOR_ID, $errors[0]->code); }
public function testGatewayRejectionOnApplicationIncomplete() { $gateway = new Braintree\Gateway(['clientId' => 'client_id$development$integration_client_id', 'clientSecret' => 'client_secret$development$integration_client_secret']); $result = $gateway->merchant()->create(['email' => '*****@*****.**', 'countryCodeAlpha3' => 'USA', 'paymentMethods' => ['credit_card', 'paypal']]); $gateway = new Braintree\Gateway(['accessToken' => $result->credentials->accessToken]); $result = $gateway->transaction()->sale(['amount' => '4000.00', 'creditCard' => ['number' => '4111111111111111', 'expirationDate' => '05/20']]); $this->assertFalse($result->success); $transaction = $result->transaction; $this->assertEquals(Braintree\Transaction::APPLICATION_INCOMPLETE, $transaction->gatewayRejectionReason); }