Может ли кто-нибудь помочь мне с интеграцией метода оплаты 2checkout.com в PHP шаг за шагом? Я написал форму, как описано в документации сайта 2checkout.com для встроенного процесса. После отправки формы он показывает, что платеж прошел успешно, но я не получил никакого результата IPN в своей функции. Поэтому, следовательно, доказано, что оплата не производится.
Буду признателен, если кто-нибудь поможет мне в этом. Пример кода приведен ниже. Что я должен сделать после этого, чтобы получить точный ответ от 2checkout, чтобы я понял, что платеж прошел успешно.
<form id="2checkout" action='https://sandbox.2checkout.com/checkout/purchase' method='post'>
<input type='hidden' name='sid' value='111111111' />
<input type='hidden' name='mode' value='2CO' />
<input type='hidden' name='li_0_type' value='product' />
<input type='hidden' name='li_0_name' value='test title' />
<input type='hidden' name='li_0_price' value='212.00' />
<input type='hidden' name='x_receipt_link_url' value='http://myserver.com/ipn_twocheckout' />
<input type='hidden' name='card_holder_name' value='Joe Flagster' />
<input type='hidden' name='street_address' value='123 Main Street' />
<input type='hidden' name='street_address2' value='Suite 200' />
<input type='hidden' name='city' value='Townsville' />
<input type='hidden' name='state' value='Ohio' />
<input type='hidden' name='zip' value='43206' />
<input type='hidden' name='country' value='USA' />
<input type='hidden' name='email' value='[email protected]' />
<input type='hidden' name='phone' value='614-921-2450' />
</form>
<script type="text/javascript">document.getElementById('2checkout').submit();</script>
<script src="/direct.min.js"></script>
простая проблема:
ваш платеж в режиме песочницы. (https://sandbox.2checkout.com/checkout/purchase)
в этом случае параметр "x_receipt_link_url" не будет работать. (он будет работать только на реальном счете).
для проверки ответа в вашем проекте. войдите в свою учетную запись в песочнице. затем перейдите к (см. ниже вложения для четкого представления). Вкладка "Учетная запись" => вкладка "Управление сайтом". затем выберите переключатель "Переадресация заголовка". затем введите одобренный URL-адрес и URL-адрес ветки: http://myserver.com/ipn_twocheckout (ваш URL-адрес вашего сайта для получения обратного вызова и обработки).
затем сохраните изменения.
Надеюсь, этот ответ вам поможет.
Самый простой способ проверить успешность платежа - просто проверить его на возврате, вот пример проверки возврата, предполагая, что вы возвращаетесь на эту страницу после завершения покупки по адресу 2Checkout:
<?php
$hashSecretWord = 'tango'; //2Checkout Secret Word
$hashSid = 111111111; //2Checkout account number
$hashTotal = '212.00'; //Sale total to validate against
$hashOrder = $_REQUEST['order_number']; //2Checkout Order Number
$StringToHash = strtoupper(md5($hashSecretWord . $hashSid . $hashOrder . $hashTotal));
if ($StringToHash != $_REQUEST['key']) {
$result = 'Fail - Hash Mismatch';
} else {
$result = 'Success - Hash Matched';
}
echo $result;