Пользовательская форма оформления заказа с полосой, использующая мои собственные расширенные настройки для различных вариантов оплаты - PullRequest
0 голосов
/ 09 июля 2020

Хорошо, со всеми подробностями, которые я могу предложить, я пытаюсь заставить форму оформления заказа работать с моими собственными расширенными настройками. Это означает, что в моей административной панели на моем веб-сайте я могу добавлять или настраивать цены оттуда. Я предоставлю фотографии и код.

Ниже приведен образец кода формы PayPal. Я использую переменные кода кнопки, как вы видите, для работы с разными ценами и установленным мной товаром.

Пример переменных кода = [merchant_id] [item_name] [amount] [item_number] [user_id] [return] [notify] [ merchant_button]

<form action="" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="[merchant_id]">
<input type="hidden" name="item_name" value="[item_name]">
<input type="hidden" name="amount" value="[amount]">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="item_number" value="[item_number]">
<input type="hidden" name="custom" value="[user_id]">
<input type="hidden" name="return" value="[return]">
<input type="hidden" name="notify_url" value="[notify]">
<input type="image" src="[merchant_button]" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
</form>

Мне нужна полоса оформления заказа, чтобы она работала точно так же. На изображении ниже представлены пакеты для продажи продуктов. Также сверхурочно я добавляю продукт, как на изображении ниже, кнопка автоматически добавляется на страницу продаж для участников.

This is the Sales Packages i create for the products

This is where the form code needs to go that creates the button and checkout.

This is where the form code will go

And this is the Code Variables that that need to go into the form values to make the form checkout work with each price or product.

I have forms that i have tried from stripe below.

<!-- Load Stripe.js on your website. -->
 Оформление заказа  div id = "error-message">  (function () {var stripe = Stripe ('pk_test_6pRNASCoBOKtIshFeQd4XMUh'); var checkoutButton = document.getElementById ('checkout-button-price_1ESdxtXk); checkoutButton.addEventListener ('click', function () {stripe.redirectToCheckout ({lineItems: [{цена: '[количество]', количество: 1}], // <---- Я помещаю переменную [количество] в показать сумму из режима пакетов продаж: 'payment', successUrl: window.location.protocol + '//proadtraffic.com/success', cancelUrl: window.location.protocol + '//proadtraffic.com/ отменено ',}) .then (function (result) {if (result.error) {var displayError = document.getElementById (' error-message '); displayError.textContent = result.error.message;}});}) ;}) (); </script> 

Мне нужно указать следующие переменные кода -> [merchant_id] [item_name] [amount] [item_number] [user_id] [return] [notify] <- в форму оформления заказа с полосой, чтобы она отображала каждую кнопку с ценой, которую нажимает пользователь, которую я установил на странице «Пакеты продаж» от моего администратора, как вы видели с PayPal. </p>

Я пробовал несколько дней и Я хотел бы получить правильную форму и сценарий, которые будут работать аналогичным образом. Может быть, я использую неправильный код и скрипт из полосы?

1 Ответ

0 голосов
/ 09 июля 2020

При использовании "только клиента" (т.е. только Javascript) Checkout вы можете только передать известный объект Price, а не динамический c price:

https://stripe.com/docs/js/checkout/redirect_to_checkout#stripe_checkout_redirect_to_checkout -options-lineItems

Это означает, что вы не можете передать количество элемента из вашего внешнего интерфейса Javascript. Вместо этого вам нужно создать продукт + цена на панели инструментов Stripe , а затем указать идентификатор цены в коде кнопки:

(function() {

var stripe = Stripe('pk_test_6pRNASCoBOKtIshFeQd4XMUh');
var checkoutButton = document.getElementById('checkout-button-price_1H2XkYEESdtcMolQIxkRKapX');

checkoutButton.addEventListener('click', function () {
  stripe.redirectToCheckout({
    lineItems: [{price: 'price_1H2XkYEESdtcMolQIxkRKapX', quantity: 1}],
    mode: 'payment',
    successUrl: window.location.protocol + '//proadtraffic.com/success',
    cancelUrl: window.location.protocol + '//proadtraffic.com/canceled',
  })
  .then(function (result) {
    if (result.error) {
      var displayError = document.getElementById('error-message');
      displayError.textContent = result.error.message;
    }
  });
});

})();
</script>

Что вы можете сделать, если вы хотите, чтобы переменная сумма, которую вы могли передать из интерфейса, создайте цену в 1 доллар (например), а затем установите необходимое количество для каждого продукта, который вы продаете. Я бы рекомендовал либо использовать подход клиент-сервер , который позволяет динамическое c ценообразование, либо создать цену для вещи, которую вы продаете, и передать идентификатор цены, как показано выше.

В отличие от кнопки PayPal, такой подход не позволяет вашим клиентам редактировать веб-форму и предоставлять себе скидку (например) - в Checkout с полосой разрешаются только известные цены.

...