我如何在没有付款方式随机数的情况下获得付款?

how can i get payment without payment method nonce?

我需要通过 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. 使用返回的客户 ID 创建了客户的信用卡

    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 安全的方法。

支持的回答: 要创建交易,您必须包含金额以及 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);