2016-08-11 18 views
3

シナリオは、リモートサーバーがエラーを返しました:(401)ペイパル

と無断ここで私はpaypalとクレジットカードとの直接支払いをしています、私は、PayPalのアカウントにCCの詳細情報を格納し、paypalリターンクレジットカードトークンています私はこのトークン番号をデータベースに保存して直接支払いをしています。このトークンを使用することで、サンドボックスアカウントで直接支払いができます。これは私のエラー応答になっている

The remote server returned an error: (401) Unauthorized.

:いくつかのいずれかが私に教えてくださいよりも、この問題についてどんな考えを持っている場合は

{"name":"UNAUTHORIZED_PAYMENT","message":"Unauthorized payment.","information_link":" https://developer.paypal.com/webapps/developer/docs/api/#UNAUTHORIZED_PAYMENT ","debug_id":"be6ad614a3843"}

これは、コード

try 
{ 
    Dictionary<string, string> sdkConfig = new Dictionary<string, string>(); 
    sdkConfig.Add("mode", "live"); 
    string accessToken = new OAuthTokenCredential(PayPalConfig.PaypalClientId, PayPalConfig.PaypalClientSecret, sdkConfig).GetAccessToken(); 
    APIContext apiContext = new APIContext(accessToken); 
    apiContext.Config = sdkConfig; 

    // Items within a transaction. 
    var item = new Item() 
    { 
     name = "Item Name", 
     currency = "USD", 
     price = "1", 
     quantity = "8", 
     sku = "sku" 
    }; 

    // A resource representing a credit card that can be used to fund a payment. 
    var credCardToken = new CreditCardToken() 
    { 
     credit_card_id = "Here CC Token Number" 
    }; 

    var amnt = new Amount() 
    { 
     currency = "USD", 
     total = "10", 
     details = new Details() 
     { 
      shipping = "1", 
      subtotal = "8", 
      tax = "1" 
     } 
    }; 

    // A transaction defines the contract of a 
    // payment - what is the payment for and who 
    // is fulfilling it. 
    var tran = new Transaction() 
    { 
     amount = amnt, 
     description = "This is the payment transaction description.", 
     item_list = new ItemList() { items = new List<Item>() { item } } 
    }; 

    // A resource representing a Payer's funding instrument. For stored credit card payments, set the CreditCardToken field on this object. 
    var fundInstrument = new FundingInstrument() 
    { 
     credit_card_token = credCardToken 
    }; 

    // A Payment Resource; create one using the above types and intent as 'sale' 
    var pymnt = new Payment() 
    { 
     intent = "sale", 
     payer = new Payer() 
     { 
      funding_instruments = new List<FundingInstrument>() { fundInstrument }, 
      payment_method = "credit_card" 
     }, 
     transactions = new List<Transaction>() { tran } 
    }; 

    // Create a payment using a valid APIContext 
    var createdPayment = pymnt.Create(apiContext); 
} 
catch (Exception ex) 
{ 
    throw; 
} 

です。または、私が間違っているところを教えてください。

+0

developer.paypal.comにログインして[アプリケーション]タブをクリックすると、左側のアカウント適格性のリンクはどうなりますか? – timkly

答えて

1

、ヶ月後

理由この問題を解決するためにハッピー:私のコード側から何の問題がありませんでしたが、すべてが正しかったが、Paypal側からの問題がありました。私のアカウントで私は変更できませんでした直接クレジットカード許可オプション '緑チックにする'。しかし、今はPaypalチームとの長い議論の後に解決されます。あなたは下の画像で見ることができます。この答えが他人にも役立つことを願っています。 enter image description here

関連する問題