разбираюсь с api интернет-эквайринга, для успешной отправки формы необходимо передать параметр receipt, у которого есть ряд обязательных значений. Выглядит он подобным образом:
<input class="PayRow" type="hidden" name="receipt" value='{"Email": "test@test.ru","Items": [ {"Name": "Наименование товара 1","Price":10000,"Quantity": 1.00,"Amount": 10000 }]}'>
Значения Email и Items являются обязательными, при этом у Items обязательны Name, Price и Amount.
Email
клиента я получаю в поле ввода перед оплатой, в другом поле вычисляется Amount
, то есть эти два значения у меня есть.
Подскажите, пожалуйста - как можно заменить "test@test.ru"
на e-mail клиента, а также в "Price":10000
и "Amount": 10000
цифры на значение Amount (Price и Amount всегда будут равны, так как Quantity будет 1) автоматически на те, что у меня имеются.
Amount : <input class="PayRow" type="text" placeholder="Amount" name="paySum" id="priceId">
Email : <input class="PayRow" type="text" placeholder="E-mail" name="payEmail">
Проще всего в момент отправки формировать содержимое value, подставляя в нужные места значения полей:
$('button').click(function(){
let receipt = '{"Email": "'+$('#email').val()+'", "Items": [{"Name": "Наименование товара 1","Price": '+Number($('#priceId').val())+',"Quantity": 1.00,"Amount": '+Number($('#priceId').val())+'}]}';
$('[name="receipt"]').val(receipt);
console.log($('[name="receipt"]').val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Amount : <input class="PayRow" type="text" placeholder="Amount" name="paySum" id="priceId"><br /><br />
Email : <input class="PayRow" type="text" placeholder="E-mail" name="payEmail" id="email"><br /><br />
<input class="PayRow" type="hidden" name="receipt" value="">
<button>Отправить</button>
const receipt = {
"Email": document.getElementById('mail').value,
"Items": [{
"Name": document.getElementById('name').value,
"Price":10000,
"Quantity": 1.00,
"Amount": 10000
}]
}
var saveData = $.ajax({
type: "POST",
url: "someaction.do/controller/action",
data: JSON.stringify(receipt),
dataType: "json",
success: function(resultData){
alert("Save Complete");
}
});
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В GNU Linux установил mariadb-server в lxc контейнере Fedora 28 amd64 командой dnf install mariadb-server, перед этим установил glibc-langpack-ru