私は次のPaymentsコードを持っています。タイプのvarを宣言します。ストライプチャージをtry tryの外に作成します。
var service = new StripeChargeService(newgenSecretKey);
try
{
var result = service.Create(newCharge);
if (result.Paid)
{
lab.Text = "It worked";
CartOrders.UpdateTransactionID(result.Id, OrderID, "Express Checkout");
Response.Redirect("PgeCustSuccess.aspx?OrderID=" + OrderID);
}
}
catch (StripeException stripeException)
{
Debug.WriteLine(stripeException.Message);
stripe.Text = stripeException.Message;
//CartOrders.UpdateTransactionID(result.FailureMessage, OrderID, "Express Checkout");
}
私は.Iがスローされた場合にはストライプのエラーをキャッチしようと、私のデータベースにそれをログに記録していますcatchブロック(result.FailureMessage)でコメントアウト値を記録したいと思います。私が直面している問題は、結果を得ることができないということです.FailureMessageはcatchブロックで動作します。グローバル変数は宣言できず、ローカルでのみ使用する必要があることを理解しています。
私が試したことはいくつかあります。
は、任意のアイデアをtryブロックの外に結果を宣言されていますが、varはタイプで初期化されなければならないので、成功しなかった、それはタイプのストライプの
var service = new StripeChargeService(newgenSecretKey);
var result = new { };
try
{
//did not work
result = service.Create(newCharge);
if (result.Paid)
{
のですか?
変数を 'try'ブロックの外側で使用する必要がある場合、' try'ブロックの外側で宣言する必要がありますが、変数と同様に、その変数を宣言する必要があります。 'try'ブロックの中でそれを初期化しなければならないという事実は、あなたが宣言した場所とは無関係です。彼らは2つの異なるものです。 'service.Create'の戻り値の型が' Stripe'ならば、 'result'を' Stripe result; 'と宣言した型です。 'catch'ブロックで' result'が 'null'であるかどうかをテストする必要があります。 'null 'として初期化しなければならないかもしれません。 – jmcilhinney
'StripeChargeService'はタイプですが、新しいチャージの作成を呼び出します。だから私はそれを宣言することができません –
それは電荷オブジェクトを返します。しかし、私はどのようにそれを型として指定しますか? –