Пример оформления заказа с помощью Stripe и ASP.NET WebForm

Я пытаюсь сделать пробный платеж с помощью Stripe с помощью ASP.NET WebForm. Я могу получить ответ в тестовой учетной записи, но хотел бы сделать еще несколько вещей. Я знаю, это было сделано раньше, но я новичок в этом. Я сделал это с помощью ссылки - Полоса оплаты

Ответ API успешен в моей тестовой учетной записи. Итак, вот что я сделал с помощью учебника:

По умолчанию.aspx:

<form action = "Charge.aspx" method = "POST"> //Confused here a bit
  <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-locale = "auto"
      data-zip-code = "true">
  </script>
</form>

Заряд.aspx:

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);
    }
}

Вот такой ответ я получаю в своем аккаунте - 200 OK POST /v1/токены. Я также пытаюсь сохранить информацию о покупке или заказе в базе данных моего проекта с помощью токена, сгенерированного Stripe. Поэтому попробовал следующее, что создает заказы в моей тестовой учетной записи:

StripeConfiguration.SetApiKey("##########");

var options = new OrderCreateOptions
{
   Currency = "usd",
   Email = "[email protected]",
   Items = new List<OrderItemOptions> {
                new OrderItemOptions {
                Type = "sku",
                Parent = "sku_EqMkslKy9JiXAc",
                Quantity = 2,
         },
    },

    Shipping = new ShippingOptions
    {
        Name = "Jenny Rosen",
        Address = new AddressOptions
        {
           Line1 = "1234 Main Street",
           City = "San Francisco",
           State = "CA",
           PostalCode = "94111",
           Country = "US",
        },
    },
 };

var service = new OrderService();
Order order = service.Create(options);

Это создает заказ в тестовой учетной записи, но с кнопкой из проекта ASP.NET, поэтому я не могу указать номер карты или другую информацию для проверки Stripe. Я хочу знать, могу ли я оформить заказ, используя ASP.NET WebForm, со всеми соответствующими деталями.

Для получения новейшего решения Stripe Checkout протестируйте демонстрацию на: techtolia.com/Полоса Получайте платежи со всех карт и несколькими способами оплаты с помощью Stripe в веб-формах ASP.NET.

Leo 29.06.2020 09:23
code2night.com/Блог/Мой Блог/…
Shubham 11.09.2020 20:38
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
2
2 861
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Итак, в настоящее время у вас есть платежная форма, которая создает платежный токен (представляющий данные карты). Это отправляет токен на серверную конечную точку, которая

  1. создает клиента и сохраняет ему данные карты.
  2. взимает с этого клиента сохраненные данные единовременно в размере 5 долларов США.

У вас также есть отдельный код, который создает открытый заказ на Stripe, но больше ничего.

Здесь вы хотите объединить код — вместо выполнения шага 2 выше, когда вы создаете единовременную оплату, вы хотите создать заказ, а затем вызвать в конечную точку оплаты и выставить счет клиенту, которого вы только что создали.

var options = new OrderPayOptions
{
  CustomerId = customer.Id,
};
var order = service.Pay(order.Id, options);

Спасибо за ответ @karllekko. Но могу ли я использовать пользовательскую кнопку вместо кнопки Stripe, чтобы вставить соответствующие данные с приведенным выше, или если вы можете предоставить какой-либо образец? Моя идея заключается в том, что когда проверка будет завершена, получите токен и вставьте токен или любое уведомление от Stripe, а также создайте заказы в моей тестовой учетной записи с данными в моем конце.

AT-2017 10.04.2019 13:35

Существует пользовательская интеграция Checkout, который вы можете использовать, чтобы вызвать всплывающее окно с данными карты с помощью вашей собственной кнопки, а затем обработать отправку данных на ваш сервер, да. Однако для этого требуется написать немного больше Javascript.

karllekko 10.04.2019 14:16
code2night.com/Блог/Мой Блог/…
Shubham 11.09.2020 20:38

Другие вопросы по теме