小编J.T*_*lor的帖子

Braintree API在Sandbox中的CreateCard.Create上抛出Braintree.Exceptions.AuthorizationException

我正在使用ASP.NET MVC 4,.NET Braintree Payments API和Braintree.js.

这是我为Braintree构建的一个简单的包装器:

public class PaymentBL
{
    private static BraintreeGateway _braintreeGateway = new BraintreeGateway
        {
            Environment = Braintree.Environment.SANDBOX,
            MerchantId = "xxxxxxx",
            PublicKey = "xxxxxxxxxxxx",
            PrivateKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        };

    public Result<Transaction> ChargeCardOnce(decimal amount, string cardholderName, string cardNumber, string expiration,
        string cvv)
    {
        TransactionCreditCardRequest creditCardRequest = new TransactionCreditCardRequest();
        creditCardRequest.CardholderName = cardholderName;
        creditCardRequest.Number = cardNumber;
        creditCardRequest.ExpirationDate = expiration;
        creditCardRequest.CVV = cvv;

        TransactionOptionsRequest optionsRequest = new TransactionOptionsRequest();
        optionsRequest.SubmitForSettlement = true;

        TransactionRequest transactionRequest = new TransactionRequest();
        transactionRequest.Amount = amount;
        transactionRequest.CreditCard = …
Run Code Online (Sandbox Code Playgroud)

.net c# braintree

4
推荐指数
1
解决办法
6351
查看次数

如何为 WebApi 管道之外的错误返回 JSON?

我正在使用 WebApi 2.1 创建一个面向公众的 API,有一个专用的 WebApi 项目(没有 MVC),在自己的服务器上托管在 IIS 7.5 中的 API,并且设计目标是只返回 JSON 或空内容,并且从不返回 HTML

我很高兴使用 ExceptionFilterAttribute 来处理 WebApi 管道中出现的异常,如下所示:

public class GlobalExceptionHandler : ExceptionFilterAttribute
{
    public override void OnException(HttpActionExecutedContext context)
    {
        // Log the exception to Elmah
        Elmah.Error error = new Elmah.Error(context.Exception, HttpContext.Current);
        error.Detail = ActionState.GetRequestParameters(context) + error.Detail;
        Elmah.ErrorLog.GetDefault(HttpContext.Current).Log(error);

        if (context.Exception is NotImplementedException)
        {
            context.Response = context.Request.CreateErrorResponse(
                HttpStatusCode.NotImplemented
                , "The API method has not yet been implemented"
            );
        }
        else
        {
            context.Response = context.Request.CreateErrorResponse(
                HttpStatusCode.InternalServerError
                , "A …
Run Code Online (Sandbox Code Playgroud)

asp.net iis-7.5 asp.net-web-api

3
推荐指数
1
解决办法
2497
查看次数

标签 统计

.net ×1

asp.net ×1

asp.net-web-api ×1

braintree ×1

c# ×1

iis-7.5 ×1