Как я могу получить оплату без оплаты? - PullRequest
1 голос
/ 09 июня 2019

Мне нужно получить платеж с помощью Braintree, и, насколько я понимаю из документации Braintree, выполните следующие действия:

  1. создал шлюз

     BraintreeGateway Gateway = new BraintreeGateway
    {
        Environment = Braintree.Environment.SANDBOX,
        MerchantId = "xxxxxxxxxxx",
        PublicKey = "yyyyyyyyyyyyyyy",
        PrivateKey = "zzzzzzzzzzzzzzz",
    };
    
  2. создал клиента

    var request = new CustomerRequest
    {
        FirstName = "firstName",
        LastName = "lastName",
        Email = "eMail",
        Phone = "phone",
    };
    string CustomerId = Gateway.Customer.Create(request).Target.Id;
    
  3. создал кредитную карту клиента, используя восстановленный хранитель

    var creditCardRequest = new CreditCardRequest
    {
        CustomerId = CustomerId,
        Number = "credit_card_number",
        ExpirationDate = "ex_date",
        CVV = "cc_cvv"
    };
    
    string creditCardToken = Gateway.CreditCard.Create(creditCardRequest).Target.Token;
    

что тогда?нужна транзакция с суммой, но использование того, что я нашел, не связано с клиентом или кредитной картой.Может кто-нибудь помочь с тем, что я должен делать дальше?Особенно мне нужен метод без 3D-безопасности.

1 Ответ

1 голос
/ 11 июня 2019

Ответ поддержки: Чтобы создать транзакцию, вы должны указать сумму и paymentMethodNonce, paymentMethodToken или customerId. Передача customerId эквивалентна передаче paymentMethodToken метода оплаты по умолчанию для клиента.

  TransactionRequest transactionRequest = new TransactionRequest()
    {
        Amount = amount,
        CustomerId = customer.Id,
        Options = new TransactionOptionsRequest
        {
            SubmitForSettlement = true
        }
    };

    Result<Transaction> result = Gateway.Transaction.Sale(transactionRequest);
...