Как интегрировать MoneyBookers в веб-приложение на PHP? - PullRequest
26 голосов
/ 09 октября 2009

Я создаю сайт PHP, в котором нам нужен платежный шлюз на основе MONEYBOOKER.

Может ли кто-нибудь помочь встроить шлюз MoneyBookers на мой сайт. Поскольку я использую тестовую ссылку, которая:

https://www.moneybookers.com/app/test_payment.pl

Но в нем не отображаются денежные переводы.

Пожалуйста, помогите!

Ответы [ 3 ]

36 голосов
/ 12 июня 2011

Я подробно освещаю эту тему в своем недавнем сообщении в блоге: Как автоматизировать Moneybookers (Skrill) с помощью status_url (IPN) . Вот пример кода для PHP и C # и рисунки, иллюстрирующие пункты:

  1. Регистрация на тестовом счете Moneybookers
  2. Создать «секретное слово»
  3. Создайте свою собственную форму оплаты (с вашим логотипом на странице оформления заказа Moneybookers)
  4. Проверка заказа Moneybookers

Я не буду здесь описывать каждый шаг, потому что если бы я это сделал, мой ответ занял бы несколько страниц. Однако я расскажу о четвертой теме (проверка порядка Moneybookers), потому что ответ, находящийся в настоящее время на этой странице, полон проблем (инъекции SQL и т. Д.). Если вам нужны подробные инструкции для каждого шага, тогда прочитайте мою статью .

Простая форма оплаты на вашем сайте

Я более подробно остановлюсь на этом в статье , но вот простая форма оплаты. Замените жирным шрифтом правильные цены, название приложения и адрес электронной почты Moneybookers:


<form action="https://www.moneybookers.com/app/payment.pl" method="post">
  <input type="hidden" name="pay_to_email" value="<strong>merchant-email@example.com</strong>"/>
  <input type="hidden" name="status_url" value="<strong>http://example.com/verify.php</strong>"/> 
  <input type="hidden" name="language" value="EN"/>
  <input type="hidden" name="amount" value="<strong>Total amount (e.g. 39.60)</strong>"/>
  <input type="hidden" name="currency" value="<strong>Currency code (e.g. USD)</strong>"/>
  <input type="hidden" name="detail1_description" value="<strong>YourApp</strong>"/>
  <input type="hidden" name="detail1_text" value="<strong>License</strong>"/>
  <input type="submit" value="Pay!"/>
</form>

Проверка заказа Moneybookers

После того, как пользователь заплатил за ваше программное обеспечение, электронную книгу или другой цифровой контент, вы захотите автоматически проверить заказ и отправить то, что он заказал, на свой адрес электронной почты. В этом примере я упоминаю , создающий ключ продукта с использованием LimeLM , но вы действительно можете сделать что угодно.

В приведенном выше примере формы вы указываете местоположение скрипта, который будет проверять заказы Moneybookers:


<input type="hidden" name="status_url" value="<strong>http://example.com/verify.php</strong>"/> 

Соответствующая часть сценария такова:


// Validate the Moneybookers signature
$concatFields = $_POST['merchant_id']
    .$_POST['transaction_id']
    .strtoupper(md5('<strong>Paste your secret word here</strong>'))
    .$_POST['mb_amount']
    .$_POST['mb_currency']
    .$_POST['status'];

$MBEmail = '<strong>merchant-email@example.com</strong>';

// Ensure the signature is valid, the status code == 2,
// and that the money is going to you
if (strtoupper(md5($concatFields)) == $_POST['md5sig']
    && $_POST['status'] == 2
    && $_POST['pay_to_email'] == $MBEmail)
{
    // Valid transaction.

    //TODO: <strong><a href="http://wyday.com/limelm/help/api/limelm.pkey.generate/" rel="noreferrer">generate the product keys</a></strong> and
    //      send them to your customer.
}
else
{
    // Invalid transaction. Bail out
    exit;
}

Если вы не знаете, как установить свое секретное слово в Moneybookers, я объясню, как это сделать, в " Как автоматизировать Moneybookers (Skrill) с помощью status_url (IPN) "статья.

Пример полной оплаты

Если вы не заинтересованы в написании этого кода самостоятельно, у нас есть полностью построенная форма оплаты для наших LimeLM клиентов. Он написан для PHP, C # и VB.NET и бесплатен для всех наших клиентов (даже для наших бесплатных пользователей). Таким образом, вы можете скачать его, интегрировать на свой сайт и использовать, не платя нам ни цента.

Вот как выглядит страница выбора платежа :

enter image description here

3 голосов
/ 09 октября 2009

Вам необходимо получить документацию от MoneyBookers, например: http://www.moneybookers.com/app/help.pl?s=m_manual для торгового шлюза и тестовый аккаунт. Тогда прочитайте это полностью несколько раз и поймите поток. Затем перейдите в раздел «Демо» на этой странице и увидите это. Наконец, начните писать код и делайте тесты с помощью тестового аккаунта.

0 голосов
/ 25 декабря 2017

Skrill не использует Moneybooker, теперь он изменил свой тестовый метод оплаты. Документировано здесь Страница № 13 (2.3.2): https://www.skrill.com/fileadmin/content/pdf/Skrill_Quick_Checkout_Guide.pdf

Использовать ниже Merchant Test Accounts, предоставляемые Skrill:

enter image description here

C # Код:

string url = "https://pay.skrill.com/?";

// Merchant Details
url += "pay_to_email=" + "demoqco@sun-fish.com";
url += "&recipient_description=" + "Your Project Title";
url += "&language=" + "EN";
url += "&transaction_id=" + "Your Transaction ID";
url += "&return_url=" + "Your Return URL After Successful Payment";

// Payment Details
url += "&amount=" + "Your Total Amount";
url += "&currency=" + "USD";
url += "&amount2_description=" + "Item Price:"; // item name
url += "&amount2=" + "Your Price Here"; // place price 
url += "&amount3_description=" + "Quantity:";
url += "&amount3=" + "Your Quantity Here";
url += "&amount4_description=" + "Tax:";
url += "&amount4=" + "Your Tax Here";
url += "&detail1_description=" + "Order ID:";
url += "&detail1_text=" + "Your Order_ID Here";
url += "&detail2_description=" + "Description:";
url += "&detail2_text=" + "Description of product";
url += "&detail3_description=" + "Product ID:";
url += "&detail3_text=" + "Your Product_ID here";
url += "&detail4_description=" + "Order Date:";
url += "&detail4_text=" + "Order Date here";

// Split Gateway
// If Payment method not set then skrill will automatically select methods in your country
//url += "&payment_methods=" + "WLT,ACC"; // Skrill, Credit/Debit Cards

// redirects to Skrill
Response.Redirect(url)

Для пробного платежа используйте номера тестовых карточек ниже после перенаправления на Skrill:

enter image description here ПРИМЕЧАНИЕ: Amex использует четырехзначный тест CVV

...