public void PaymentMethodGrantAndRevoke() { Result<Customer> result = partnerMerchantGateway.Customer.Create(new CustomerRequest()); var token = partnerMerchantGateway.PaymentMethod.Create(new PaymentMethodRequest { PaymentMethodNonce = Nonce.Transactable, CustomerId = result.Target.Id }).Target.Token; string code = OAuthTestHelper.CreateGrant(oauthGateway, "integration_merchant_id", "grant_payment_method"); ResultImpl<OAuthCredentials> accessTokenResult = oauthGateway.OAuth.CreateTokenFromCode(new OAuthCredentialsRequest { Code = code, Scope = "grant_payment_method" }); BraintreeGateway accessTokenGateway = new BraintreeGateway(accessTokenResult.Target.AccessToken); PaymentMethodGrantRequest grantRequest = new PaymentMethodGrantRequest() { AllowVaulting = false, IncludeBillingPostalCode = true }; Result<PaymentMethodNonce> grantResult = accessTokenGateway.PaymentMethod.Grant(token, grantRequest); Assert.IsTrue(grantResult.IsSuccess()); Assert.IsNotNull(grantResult.Target.Nonce); Result<PaymentMethod> revokeResult = accessTokenGateway.PaymentMethod.Revoke(token); Assert.IsTrue(revokeResult.IsSuccess()); }
public void PaymentMethodGrantIncludeBillingPostalCode() { var partnerMerchantGateway = new BraintreeGateway { Environment = Environment.DEVELOPMENT, MerchantId = "integration_merchant_public_id", PublicKey = "oauth_app_partner_user_public_key", PrivateKey = "oauth_app_partner_user_private_key" }; var customerRequest = new CustomerRequest { CreditCard = new CreditCardRequest { Number = "5105105105105100", ExpirationDate = "05/19", BillingAddress = new CreditCardAddressRequest() { PostalCode = "94107" } } }; Customer customer = partnerMerchantGateway.Customer.Create(customerRequest).Target; CreditCard creditCard = customer.CreditCards[0]; var token = creditCard.Token; BraintreeGateway oauthGateway = new BraintreeGateway( "client_id$development$integration_client_id", "client_secret$development$integration_client_secret" ); string code = OAuthTestHelper.CreateGrant(oauthGateway, "integration_merchant_id", "grant_payment_method"); ResultImpl<OAuthCredentials> accessTokenResult = oauthGateway.OAuth.CreateTokenFromCode(new OAuthCredentialsRequest { Code = code, Scope = "grant_payment_method" }); BraintreeGateway accessTokenGateway = new BraintreeGateway(accessTokenResult.Target.AccessToken); PaymentMethodGrantRequest optionsRequest = new PaymentMethodGrantRequest() { AllowVaulting = false, IncludeBillingPostalCode = true }; Result<PaymentMethodNonce> grantResult = accessTokenGateway.PaymentMethod.Grant(token, optionsRequest); var request = new TransactionRequest { Amount = 100M, PaymentMethodNonce = grantResult.Target.Nonce }; var transactionResult = gateway.Transaction.Sale(request); Assert.IsTrue(transactionResult.IsSuccess()); Assert.AreEqual(transactionResult.Target.BillingAddress.PostalCode, "94107"); }