Pay with Amazon を自分の Web アプリに統合しましたが、コードのデバッグをステップ実行するときにのみ資金のキャプチャが機能し、ブレークポイントがない場合は機能しないと判断しました。私にとって、これは一時停止が必要であることを示しています。定期決済を利用しています。コードの関連セクションは次のとおりです。
...
//make checkout object
AmazonAutomaticSimpleCheckout asc = new AmazonAutomaticSimpleCheckout(billingAgreeementId);
//capture
CaptureResponse cr = asc.Capture(authId, amount, 1);
//check if capture was successful
if (cr.CaptureResult.CaptureDetails.CaptureStatus.State == PaymentStatus.COMPLETED)
{
...
//give the user the things they paid for in the database
...
return "success";
}
...
したがって、下のキャプチャ行にブレークポイントがある場合//capture
、関数は成功を返します。ブレークポイントがない場合、次のifステートメントSystem.NullReferenceException: Object reference not set to an instance of an object.
に関して実行時例外が発生します。
私にとって、これはキャプチャ メソッドを待機できる必要があることを意味します。
また、C# サンプルと同様に、capture(...)
メソッドがメソッドを呼び出していることにも注意してください。CaptureAction(...)
//Invoke the Capture method
public CaptureResponse Capture(string authId, string captureAmount, int indicator)
{
return CaptureAction(propertiesCollection, service, authId, captureAmount, billingAgreementId, indicator, null, null);
}
どうすればcapture
電話を待つことができますか? 操作をすぐに実行する必要があることを示すパラメーターを渡すのを忘れていませんか?