Я пытаюсь инициировать следующий вызов скрипта 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);
}
}