Я использую API монетных платежей для обмена криптовалюты. Все работает нормально, но мне нужно обновить статус платежа в моей БД, когда статус транзакции будет завершен. Я проверяю историю IPN, и она показывает правильный URL моего скрипта, который обрабатывает данные IPN. Статус отправления также «Да», но мой скрипт не выполняет обновление статуса платежа в моей БД.
Я использую монеты LTCT для разработки и тестирования. Не уверен, если это вызывает проблему, потому что это просто тестирование валюты. Я не могу проверить это с реальной валютой еще.
Вот мой код.
require('./coinpayments.inc.php');
$cps = new CoinPaymentsAPI();
$cps->Setup('B2Ec451e6a2b0e47981336B8C63Da7f5630b613C54032198df5F807c77179eF2', 'c609b111559b6709054ea3f2f0ed300ea7932fe20c8d1f01b3bc189476e0c49c');
$req = array(
'amount' => 10.00,
'currency1' => 'USD',
'currency2' => 'LTCT',
'buyer_email' => 'email@gmail.com',
'item_name' => 'Test Item/Order Description',
'address' => '', // leave blank send to follow your settings on the Coin Settings page
'ipn_url' => 'http://btcmoney.rf.gd/ipn_handler.php',
'success_url' => 'http://btcmoney.rf.gd/success_handler.php',
);
// See https://www.coinpayments.net/apidoc-create-transaction for all of the available fields
$result = $cps->CreateTransaction($req);
if ($result['error'] == 'ok') {
$le = php_sapi_name() == 'cli' ? "\n" : '<br />';
print 'Transaction created with ID: '.$result['result']['txn_id'].$le;
print 'Buyer should send '.sprintf('%.08f', $result['result']['amount']).' BTC'.$le;
print 'Status URL: '.$result['result']['status_url'].$le;
print 'Send to: '.$result['result']['address'].$le;
} else {
print 'Error: '.$result['error']."\n";
}
Когда запрос платежа инициируется с использованием этого кода и пользователь вносит LTCT в мой кошелек, в Dashboard для монетных платежей появляется статус «завершен». Но IPN или успешный обратный вызов не выполняется. Мне действительно нужно выполнить этот скрипт для обновления статусов в моей БД.
Чтобы проверить, вызывается ли скрипт или нет. Я создаю текстовый файл в этом сценарии, и папка имеет права доступа 777. Попадание этого URL через Интернет создает текстовое поле. Но он должен успешно вызываться из обратного вызова IPN.
Любая помощь будет высоко оценена.
Привет.