我正在实施一个托管的Braintree解决方案,并且我非常准确地关注这些文档。我必须说文档非常棒。仍然,在加载客户端时仍然收到未捕获的参考错误。错误出现在客户端令牌上。即使已设置,在此我也遇到未捕获的参考错误。
这是出现问题的剃须刀页面的结尾:
var form = document.querySelector('#my-sample-form');
var submit = document.querySelector('input[type="submit"]');
var clientToken = @ViewBag.ClientToken;
braintree.client.create({
authorization: clientToken
}, function (err, clientInstance) {
if (err) {
console.error(err);
return;
}
这是控制器中的方法(即使我认为不是问题所在)。从获取帐单信息的后方法重定向:
return RedirectToAction(nameof(Pay));
}
else
{
return View(order);
}
}
public ActionResult Pay()
{
var gateway = GetGetAway();
string clientToken = gateway.ClientToken.Generate();
ViewBag.ClientToken = clientToken;
return View();
}
public BraintreeGateway GetGetAway()
{
return new BraintreeGateway
{
Environment = Braintree.Environment.SANDBOX,
MerchantId = "xxxxxxx",
PublicKey = "xxxxxxxx",
PrivateKey = "xxxxxxxxxx"
};
}
[HttpPost]
public ActionResult CreatePurchase()
{
var gateway = config.GetGateway();
var request = new TransactionRequest
{
Amount = 15,
PaymentMethodNonce = Request.Query["payment_method_nonce"],
Options = new TransactionOptionsRequest
{
SubmitForSettlement = true
}
};
Result<Transaction> result = gateway.Transaction.Sale(request);
if (result.IsSuccess())
{
Transaction transaction = result.Target;
return View("Completed");
}
else
{
return RedirectToAction("Unsuccessful");
}
}