Я пытаюсь использовать этот API https://developers.paystack.co/reference#paystack -inline-x в моем laravel блейд-файле. Каждый раз, когда я нажимаю кнопку, он пытается отправить запрос, вместо того, чтобы вызвать способ оплаты.
Я включил Ajax, как того требуют документы, но все еще безуспешно. Модал должен использовать данные из формы.
<div class="row justify-content-center">
<div class="col-md-6">
<div class="card">
<div class="card-header">{{ __('Giving Particulars') }}</div>
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@elseif(session('error'))
<div class="alert alert-danger" role="alert">
{{ session('error') }}
</div>
@endif
<form id="pay-form">
<div class="form-group row">
<label for="amount" class="col-md-4 col-form-label text-md-right">{{ __('Amount') }}</label>
<div class="col-md-6">
<input id="amount" type="number" class="form-control rounded-0 @error('amount') is-invalid @enderror" name="amount" required placeholder="3000">
@error('amount')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="name" class="col-md-4 col-form-label text-md-right">{{ __('Name (optional)') }}</label>
<div class="col-md-6">
<input id="name" type="text" class="form-control rounded-0 @error('name') is-invalid @enderror" name="name" placeholder="John ">
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('Email (optional)') }}</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control rounded-0 @error('email') is-invalid @enderror" name="email" placeholder="abc@xyz.com">
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row">
<label for="purpose" class="col-md-4 col-form-label text-md-right">{{ __('Purpose (optional)') }}</label>
<div class="col-md-6">
<input id="purpose" type="text" class="form-control rounded-0 @error('purpose') is-invalid @enderror" name="purpose" placeholder="e.g tithe">
@error('purpose')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-8 offset-md-4">
<button type="submit" onclick="payWithPaystack()" class="btn btn-primary rounded-0">
{{ __('Give') }}
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
А вот мой JS код
<form >
<script src="https://js.paystack.co/v1/inline.js"></script>
</form>
<script>
var organisation_id = getElementByName('id').value;
var amountInKobo = document.getElementById('amount').value *100;
var email = document.getElementById('email').value;
var name = document.getElementById('name').value;
var purpose = document.getElementById('purpose').value;
if (email == '' || email == null) {
email = 'abc@xyz.com';
}
function payWithPaystack(){
var handler = PaystackPop.setup({
key: 'public key',
email: email,
amount: amountInKobo,
currency: "NGN",
metadata: {
purpose: purpose,
name: name,
organisation_id: organisation_id
},
callback: function(response){
window.location.href= '/givenow/public/guest/verify/'+response.reference;
},
onClose: function(){
alert('window closed');
}
});
handler.openIframe();
}
</script>