Возврат платежа по IPN не выполняется на моем сервере. - PullRequest
0 голосов
/ 28 апреля 2019

Я использую 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.

Любая помощь будет высоко оценена.

Привет.

...