2016-08-05 8 views
0

PayPal.NET SDKを実装しようとしています。 (C#) 私はASP.NET(Webフォーム)で作業しています。 私は(単にコンストラクタで)新しい支払オブジェクトを作成しようとするたびに、私はそれで絶対にNO詳細にとNullReferenceExceptionを取得...PayPal .NET SDK - 新しいPayment() - NullReference例外をスローする

ここでは例外です:

System.NullReferenceException was unhandled by user code 
HResult=-2147467261 
Message=Object reference not set to an instance of an object. 
Source=<SolutionName> 
StackTrace: 
    at <SolutionName>.Classes.MFPal.Checkout(List`1 cartItems) in C:\<SolutionName>\<FolderName>\Classes\MFPal.cs:line 46 
    at <SolutionName>.Pages.Private.ShoppingCart.btnPPCheckout_Click(Object sender, EventArgs e) in C:\<SolutionName>\<FolderName>\Pages\Private\ShoppingCart.aspx.cs:line 164 
    at System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) 
    at System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
InnerException: 

InnerExceptionは、nullです。

私はすでにコードを最小限に分割しています。最初は塗りつぶされたItemListでテストしましたが、今は空のアイテムを使用しています。今私はすべての価格に "0"を使用していますが、私の最初のテストは正しい数字で行われました。最初は簡単に使いました。

Payment.Create(apiContext, new Payment() { ... }); 

しかし、私はNullReferenceを特定することができませんでしたので、今のコードは次のようになります。

 var apiContext = new APIContext(Config.PayPalAccessToken); 
     apiContext.Config = ConfigManager.Instance.GetProperties(); 
     // ONLY ADDED FOR MORE TESTING. 
     apiContext.HTTPHeaders = new Dictionary<string, string>(); 

     // NULLREF ON THE NEXT LINE 
     Payment pym = new Payment() { 
      intent = "sale", 
      redirect_urls = { 
       return_url = "http://<DomainName>/home", 
       cancel_url = "http://<DomainName>/home" 
      }, 
      payer = { payment_method = "paypal" }, 
      transactions = new List<Transaction>() { 
       new Transaction() { 
        amount = { 
         currency = "USD", 
         total = "0", 
         details = new Details() { 
          tax = "0", 
          shipping = "0", 
          subtotal = "0" 
         } 
        }, 
        item_list = new ItemList() { items = new List<Item>() }, 
        description = "asd", 
        invoice_number = "1111111" 
       } 
      } 
     }; 

は、同様の問題が発生して誰ですか?何か不足していますか?必要な財産かもしれない?デバッグすると、何も見つからない。

ありがとうございます!

答えて

1

問題が見つかりました。私はそれが実現するまでそれを1行ずつ調べました。 私は忘れてしまった(とVisual Studioがアイデアを気に入っ)を残すために:

new Amount() {...} 

コンストラクタラインから:

amount = {...} 

私は、一見無意味なポストごめんなさい。たぶん、誰かがやっと同じミスをしてしまうかもしれません。

関連する問題