Как выполнить полосовой html-вызов из дочерней формы asp.net - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь инициировать следующий вызов скрипта Stripe, который запрашивает страницу /Members/Charge.aspx через POST в образце HTML-формы. Мне нужно сделать это на существующей дочерней странице aspx, которая использует страницу Site.Master (поэтому она находится между заполнителями содержимого asp, поэтому я не могу использовать форму method = "post" и т. Д.

Как я могу сделать следующее, но с существующей дочерней страницы содержимого ASP?

Это пример кода от Stripe, который работает:

<form action="/Members/Charge" method="post">
    <script
        src="https://checkout.stripe.com/checkout.js" class="stripe-button"
        data-key="<%= stripePublishableKey %>"
        data-amount="500"
        data-name="Stripe.com"
        data-description="Sample Charge"
        data-image="/images/home.jpg"
        data-locale="auto"
        data-zip-code="true">
    </script>
</form>

Мне нужно, чтобы это было примерно так:

            <div class="col">
                <h5 style="font-weight:bold">Payment Method</h5>
                <script
                    src="https://checkout.stripe.com/checkout.js" class="stripe-button"
                    data-key="<%= stripePublishableKey %>"
                    data-amount="500"
                    data-name="Stripe.com"
                    data-description="Sample Charge"
                    data-image="/images/home.jpg"
                    data-locale="auto"
                    data-zip-code="true">
                </script>
            </div>

На моей дочерней странице aspx между тегами asp: Content, но как мне перенаправить на свою страницу оплаты, так как я не могу использовать строку :?

<form action="/Members/Charge" method="post">

, который затем перенаправляет на страницу «начисления», которая является страницей успешной транзакции, со следующим кодом на page_load, которая фактически отправляет транзакцию

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.Form["stripeToken"] != null)
            {

                var customers = new CustomerService();
                var charges = new ChargeService();

                var customer = customers.Create(new CustomerCreateOptions
                {
                    Email = Request.Form["stripeEmail"],
                    SourceToken = Request.Form["stripeToken"]
                });

                var charge = charges.Create(new ChargeCreateOptions
                {
                    Amount = 500,
                    Description = "Sample Charge",
                    Currency = "usd",
                    CustomerId = customer.Id
                });

                Console.WriteLine(charge);
            }
        }

1 Ответ

0 голосов
/ 28 марта 2019

Мне пришлось называть временную страницу «подтверждения заказа», созданную с помощью простой формы HTML в начале моего сообщения

...