我如何在没有付款方式随机数的情况下获得付款?
how can i get payment without payment method nonce?
我需要通过 Braintree 获得付款,据我从 Braintree 的文档中了解到,遵循了这些步骤;
创建了一个网关
BraintreeGateway Gateway = new BraintreeGateway
{
Environment = Braintree.Environment.SANDBOX,
MerchantId = "xxxxxxxxxxx",
PublicKey = "yyyyyyyyyyyyyyy",
PrivateKey = "zzzzzzzzzzzzzzz",
};
创建了一个客户
var request = new CustomerRequest
{
FirstName = "firstName",
LastName = "lastName",
Email = "eMail",
Phone = "phone",
};
string CustomerId = Gateway.Customer.Create(request).Target.Id;
使用返回的客户 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);
我需要通过 Braintree 获得付款,据我从 Braintree 的文档中了解到,遵循了这些步骤;
创建了一个网关
BraintreeGateway Gateway = new BraintreeGateway { Environment = Braintree.Environment.SANDBOX, MerchantId = "xxxxxxxxxxx", PublicKey = "yyyyyyyyyyyyyyy", PrivateKey = "zzzzzzzzzzzzzzz", };
创建了一个客户
var request = new CustomerRequest { FirstName = "firstName", LastName = "lastName", Email = "eMail", Phone = "phone", }; string CustomerId = Gateway.Customer.Create(request).Target.Id;
使用返回的客户 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);