Интеграция платежей hitpay не может быть реализована на PHP ⇐ Php
-
Anonymous
Интеграция платежей hitpay не может быть реализована на PHP
HitPay Checkout Drop-in Test Page
// Callback for successful payment
function onSuccess(data) {
console.log('onSuccess called:', data);
// Verify if valid data is received
if (!data) {
console.error('No data received in onSuccess');
const el = document.createElement('p');
el.innerHTML = 'Payment Success, but no data received.';
document.body.appendChild(el);
return;
}
// Display a success message
const el = document.createElement('p');
el.innerHTML = 'Payment Success';
document.body.appendChild(el);
// Send payment details to backend for storage
fetch('store_payment_details.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(data), // Sending received data
})
.then((response) => response.json())
.then((response) => {
console.log('Payment details stored successfully:', response);
})
.catch((error) => {
console.error('Error storing payment details:', error);
});
}
// Callback when payment is closed
function onClose(data) {
console.log('onClose called:', data);
const el = document.createElement('p');
el.innerHTML = 'Payment Closed';
document.body.appendChild(el);
}
// Callback for errors
function onError(error) {
console.error('onError called:', error);
const el = document.createElement('p');
el.innerHTML = 'Error: ' + (error.message || error);
document.body.appendChild(el);
}
// Function to initiate payment
function onClick() {
const carttotalValue = 1; // Dynamic total value (e.g., 100 for testing)
const paymentData = {
amount: carttotalValue, // Ensure amount matches cart total
currency: 'SGD',
email: 'dteamkavintech@gmail.com',
phone: '1111',
order_id: '123',
};
// Make AJAX request to backend to create the payment request
fetch('hitpay_payment_request.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(paymentData), // Send dynamic data
})
.then((response) => response.json())
.then((response) => {
const data = response.data;
console.log("data=",data);
if (data && data.id) {
// Initialize HitPay only once
if (!window.HitPay.inited) {
window.HitPay.init(
'https://securecheckout.hit-pay.com/paym ... te-limited',
{
domain: 'hit-pay.com',
apiDomain: 'hit-pay.com',
},
{
onClose: onClose,
onSuccess: onSuccess,
onError: onError,
}
);
}
// Trigger the payment gateway toggle with the provided payment_url
window.HitPay.toggle({
paymentRequest: data.id, // Dynamic payment ID
amount: carttotalValue,
name: 'Anbu',
phone: '93500239',
});
} else {
// Handle error if no payment URL is received
console.error('Error: Payment URL not received');
}
})
.catch((error) => {
console.error('AJAX Error:', error);
});
}
Pay
> response getting
{
"data": {
"id": "9de0c639-c986-4743-a1ae-70b998068536",
"name": null,
"email": "dteamkavintech@gmail.com",
"phone": "1111",
"amount": "1.00",
"currency": "SGD",
"is_currency_editable": false,
"status": "pending",
"purpose": null,
"reference_number": "123",
"payment_methods": [
"card",
"paynow_online"
],
"url": "https:\/\/securecheckout.hit-pay.com\/payment-request\/@curvv-tech-private-limited\/9de0c639-c986-4743-a1ae-70b998068536\/checkout",
"redirect_url": "https:\/\/domain.sg\/hit-pay\/hitpay_payment_success.php",
"webhook": "https:\/\/domain.sg\/hit-pay\/hitpay_payment_details.php",
"send_sms": false,
"send_email": false,
"sms_status": "pending",
"email_status": "pending",
"allow_repeated_payments": false,
"expiry_date": null,
"address": null,
"line_items": null,
"executor_id": null,
"created_at": "2025-01-03T14:53:59",
"updated_at": "2025-01-03T14:53:59",
"staff_id": null,
"business_location_id": null
}
}
> hitpay_payment_deatils.php
>hitpay_payment_success.php
Я пытаюсь внедрить платежный шлюз HitPay.
Я могу успешно получить ответ на запрос платежа.
Я тоже могу могу завершить платеж.
Однако после совершения платежа мне необходимо сохранить данные транзакции, такие как:
Идентификатор транзакции
Статус транзакции и другие соответствующие подробности.
По какой-то причине эта часть не работает должным образом. ожидалось.
Я испробовал множество подходов, но не смог определить проблему.
Может ли кто-нибудь мне с этим помочь? Мне нужно подробное объяснение.
[Reference link here][1]
[1]: https://docs.hitpayapp.com/apis/guide/online-payments
Подробнее здесь: https://stackoverflow.com/questions/793 ... ent-in-php
HitPay Checkout Drop-in Test Page
// Callback for successful payment
function onSuccess(data) {
console.log('onSuccess called:', data);
// Verify if valid data is received
if (!data) {
console.error('No data received in onSuccess');
const el = document.createElement('p');
el.innerHTML = 'Payment Success, but no data received.';
document.body.appendChild(el);
return;
}
// Display a success message
const el = document.createElement('p');
el.innerHTML = 'Payment Success';
document.body.appendChild(el);
// Send payment details to backend for storage
fetch('store_payment_details.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(data), // Sending received data
})
.then((response) => response.json())
.then((response) => {
console.log('Payment details stored successfully:', response);
})
.catch((error) => {
console.error('Error storing payment details:', error);
});
}
// Callback when payment is closed
function onClose(data) {
console.log('onClose called:', data);
const el = document.createElement('p');
el.innerHTML = 'Payment Closed';
document.body.appendChild(el);
}
// Callback for errors
function onError(error) {
console.error('onError called:', error);
const el = document.createElement('p');
el.innerHTML = 'Error: ' + (error.message || error);
document.body.appendChild(el);
}
// Function to initiate payment
function onClick() {
const carttotalValue = 1; // Dynamic total value (e.g., 100 for testing)
const paymentData = {
amount: carttotalValue, // Ensure amount matches cart total
currency: 'SGD',
email: 'dteamkavintech@gmail.com',
phone: '1111',
order_id: '123',
};
// Make AJAX request to backend to create the payment request
fetch('hitpay_payment_request.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(paymentData), // Send dynamic data
})
.then((response) => response.json())
.then((response) => {
const data = response.data;
console.log("data=",data);
if (data && data.id) {
// Initialize HitPay only once
if (!window.HitPay.inited) {
window.HitPay.init(
'https://securecheckout.hit-pay.com/paym ... te-limited',
{
domain: 'hit-pay.com',
apiDomain: 'hit-pay.com',
},
{
onClose: onClose,
onSuccess: onSuccess,
onError: onError,
}
);
}
// Trigger the payment gateway toggle with the provided payment_url
window.HitPay.toggle({
paymentRequest: data.id, // Dynamic payment ID
amount: carttotalValue,
name: 'Anbu',
phone: '93500239',
});
} else {
// Handle error if no payment URL is received
console.error('Error: Payment URL not received');
}
})
.catch((error) => {
console.error('AJAX Error:', error);
});
}
Pay
> response getting
{
"data": {
"id": "9de0c639-c986-4743-a1ae-70b998068536",
"name": null,
"email": "dteamkavintech@gmail.com",
"phone": "1111",
"amount": "1.00",
"currency": "SGD",
"is_currency_editable": false,
"status": "pending",
"purpose": null,
"reference_number": "123",
"payment_methods": [
"card",
"paynow_online"
],
"url": "https:\/\/securecheckout.hit-pay.com\/payment-request\/@curvv-tech-private-limited\/9de0c639-c986-4743-a1ae-70b998068536\/checkout",
"redirect_url": "https:\/\/domain.sg\/hit-pay\/hitpay_payment_success.php",
"webhook": "https:\/\/domain.sg\/hit-pay\/hitpay_payment_details.php",
"send_sms": false,
"send_email": false,
"sms_status": "pending",
"email_status": "pending",
"allow_repeated_payments": false,
"expiry_date": null,
"address": null,
"line_items": null,
"executor_id": null,
"created_at": "2025-01-03T14:53:59",
"updated_at": "2025-01-03T14:53:59",
"staff_id": null,
"business_location_id": null
}
}
> hitpay_payment_deatils.php
>hitpay_payment_success.php
Я пытаюсь внедрить платежный шлюз HitPay.
Я могу успешно получить ответ на запрос платежа.
Я тоже могу могу завершить платеж.
Однако после совершения платежа мне необходимо сохранить данные транзакции, такие как:
Идентификатор транзакции
Статус транзакции и другие соответствующие подробности.
По какой-то причине эта часть не работает должным образом. ожидалось.
Я испробовал множество подходов, но не смог определить проблему.
Может ли кто-нибудь мне с этим помочь? Мне нужно подробное объяснение.
[Reference link here][1]
[1]: https://docs.hitpayapp.com/apis/guide/online-payments
Подробнее здесь: https://stackoverflow.com/questions/793 ... ent-in-php
Мобильная версия