で支払いを処理するためにストライプのフォームを使用しています。自分のサイトで支払いを処理するためにストライプを使用しています。これを実装するには、checkoutと呼ばれるStripeの埋め込み支払いフォームを使用したいと思います。これまで私が手助けしてくれるドキュメントや最新のサンプルが不足しています。ポストを処理するためにASP .NET MVC
<div class="row">
<div class="container col-md-2 col-md-offset-5">
<h5>Upgrade your account</h5>
<form action="/Premium/Charge" method="POST">
<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="MYKEY"
data-amount="1000"
data-name="My Project Name"
data-description="Premium Account (€10)"
data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
data-locale="auto"
data-zip-code="true"
data-currency="eur">
</script>
</form>
</div>
そして、私のコントローラのアクション:
解決しよう[HttpPost]
[Authorize]
public ActionResult Charge(string stripeToken, string stripeEmail)
{
string apiKey = "MYKEY";
var client = new Stripe.StripeCustomerCreateOptions();
// our customer
client.Email = stripeEmail;
client.SourceToken = stripeToken;
// creating our charge
var charge = new Stripe.StripeChargeCreateOptions();
charge.Amount = 1000;
charge.Description = "Premium member charge";
charge.Currency = "EUR";
charge.SourceTokenOrExistingSourceId = stripeToken;
// calling stripe to make the charge, then update users profile
var chargeService = new Stripe.StripeChargeService();
Stripe.StripeCharge stripeCharge = new Stripe.StripeCharge();
// Error arises here
dynamic response = chargeService.Create(charge);
if (response.Paid)
{
// successful payment
ViewBag.Status = "success";
return View("Result");
}
ViewBag.Status = "unsuccesful";
return View("Result");
}
私はそうのようなフォームが埋め込まれているビューで
。
はあなたが合格しているすべての引数を収集することができています彼らは実際に要求と一緒に渡されていることを確認するために、フォームには?むしろそれらを使用しようとするよりも? – korben
私はあなたのビューとアクションメソッドのシグネチャにある正確なコードを使ってテストし、すべて正常に動作します。メソッドに[HttpPost]デコレータがないのですか? –
私はそれを実際にコードスニペットに含めるのを忘れました。それはそれを超えています。そのコントローラーから応答が成功したかどうかを確認する方法はありますか? –