Asp.net mvc 使用stripe';在ASP.NETMVC中处理付款的s表单

Asp.net mvc 使用stripe';在ASP.NETMVC中处理付款的s表单,asp.net-mvc,stripe-payments,stripe.net,Asp.net Mvc,Stripe Payments,Stripe.net,我正在使用stripe在我的网站上处理付款。为了实现这一点,我想使用Stripe的嵌入式支付表单,称为checkout。到目前为止,缺乏文档或最新的示例来帮助我解决这个问题 在视图中,我嵌入了如下形式: <div class="row"> <div class="container col-md-2 col-md-offset-5"> <h5>Upgrade your account</h5> <form action="/P

我正在使用stripe在我的网站上处理付款。为了实现这一点,我想使用Stripe的嵌入式支付表单,称为checkout。到目前为止,缺乏文档或最新的示例来帮助我解决这个问题

在视图中,我嵌入了如下形式:

<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>
已解决。

我正在使用此代码进行测试,它可以正常工作:

public class CreditCardController : Controller
{
    public ActionResult Charge()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Charge(string stripeToken, string stripeEmail)
    {
        var myCharge = new StripeChargeCreateOptions();

        // always set these properties
        myCharge.Amount = 1000;
        myCharge.Currency = "eur";

        myCharge.ReceiptEmail = stripeEmail;
        myCharge.Description = "Test Charge";
        myCharge.SourceTokenOrExistingSourceId = stripeToken;
        myCharge.Capture = true;

        var chargeService = new StripeChargeService();
        StripeCharge stripeCharge = chargeService.Create(myCharge);

        return View();
    }
}
查看代码。密钥是Stripe文档中的演示密钥。我使用的测试信用卡号码是4242

<div class="row">
    <div class="container col-md-2 col-md-offset-5">
        <h5>Upgrade your account</h5>
        <form action="/CreditCard/Charge" method="POST">
            <script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
                    data-key="pk_test_6pRNASCoBOKtIshFeQd4XMUh"
                    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>
</div>

升级您的帐户

在做出应该可以正常工作的动态响应之前,请删除该行。您向条带服务器发出了两个请求。

是否能够收集传递到表单的所有参数,以确保它们确实随请求一起传递?而不仅仅是尝试使用它们?我使用了您所使用的代码进行了测试在您的视图和操作方法中都有签名,并且一切正常。您是否缺少[HttpPost]方法上的decorator?我忘了将其包含在代码段中,它就在上面。有没有办法检查该控制器的响应是否成功?@korben我将在中插入一个断点,看我也在尝试相同的操作,但在这里我在StripeCharge StripeCharge=chargeService.Create行遇到了一个与程序集相关的问题(myCharge);问题是无法加载文件或程序集“Newtonsoft.Json,Version=9.0.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6eed”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT中的异常:0x8013100)。您能帮我解决这个问题吗?Asp.net Web表单中的条带支付集成及其100%工作代码,您还可以下载Asp.net Web表单中的应用程序条带支付集成及其100%工作代码,还可以下载应用程序
<div class="row">
    <div class="container col-md-2 col-md-offset-5">
        <h5>Upgrade your account</h5>
        <form action="/CreditCard/Charge" method="POST">
            <script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
                    data-key="pk_test_6pRNASCoBOKtIshFeQd4XMUh"
                    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>
</div>