如何在PHP中集成Web应用程序中的MoneyBookers ?

时间:2022-09-15 15:51:43

I am constructing a PHP website,in which we need a payment gateway based on MONEYBOOKERs.

我正在构建一个PHP网站,在这个网站中,我们需要一个基于MONEYBOOKERs的支付网关。

Can Any one help in embedding the MoneyBookers gateway to my site. As I am using the test link which is:

有谁能帮我在我的网站上嵌入摇钱树的网关。因为我使用的测试链接是:

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

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

But it is not showing any of the money transfer in it.

但它没有显示任何汇款。

Please Help!

请帮助!

3 个解决方案

#1


36  

I cover this topic in detail on a recent blog post of mine: How to automate Moneybookers (Skrill) using status_url (IPN). There is example code for PHP and C# and pictures illustrating the points:

在我最近的一篇博客文章中,我详细地讨论了这个话题:如何使用status_url (IPN)自动化摇钱树(Skrill)。这里有PHP和c#的示例代码,以及说明这些点的图片:

  1. Signup for a Moneybookers test account
  2. 注册一个Moneybookers测试账户
  3. Create a “secret word”
  4. 创建一个“秘密词”
  5. Create your own payment form (with your logo on the Moneybookers checkout page)
  6. 创建您自己的付款表(在Moneybookers checkout页面上有您的标识)
  7. Verify the Moneybookers order
  8. 验证Moneybookers秩序

I won't cover every step here, because if I did my answer would take up several pages. However I will cover the 4th topic (verifying the Moneybookers order) because the answer currently on this page is riddled with problems (SQL injections, etc.). If you want in-detail instructions for every step then read my article.

我不会在这里介绍每一步,因为如果我做了,我的答案会占用几页纸。但是,我将讨论第4个主题(验证Moneybookers订单),因为这个页面上当前的答案充满了问题(SQL注入等)。如果你想要详细说明每一步,请阅读我的文章。

Simple payment form on your website

I go into this in more detail in the article, but here's a simple payment form. Replace the bold values with your correct prices, app name, and Moneybookers email:

我将在本文中对此进行更详细的介绍,但这里有一个简单的付款表单。用你正确的价格、应用程序名称和Moneybookers电子邮件来替换粗体的值:


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

Verifying the Moneybookers order

After a user has paid for your software, eBook, or other digital content you'll want to automatically verify the order and send what they ordered to their email address. In this example I mention creating a product key using LimeLM, but you can really do anything.

当用户为您的软件、电子书或其他数字内容付费后,您将希望自动验证订单并将订购的内容发送到他们的电子邮件地址。在本例中,我提到了使用LimeLM创建一个产品密钥,但是您确实可以做任何事情。

In the example form above you set the location of script that will verify the Moneybookers orders:

在上面的示例表单中,您设置了用于验证Moneybookers订单的脚本的位置:


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

The relevant part of the script is this:

该脚本的有关部分是:


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

$MBEmail = 'merchant-email@example.com';

// 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: generate the product keys and
    //      send them to your customer.
}
else
{
    // Invalid transaction. Bail out
    exit;
}

If you don't know how to set your secret word in Moneybookers, I explain how to do this in the " How to automate Moneybookers (Skrill) using status_url (IPN)" article.

如果您不知道如何在Moneybookers中设置密码,我将在“如何使用status_url (IPN)自动化Moneybookers (Skrill)”文章中解释如何设置密码。

Full payment example

If you're not keen on writing this code yourself then we have a fully built payment form for our LimeLM customers. It's written for PHP, C#, and VB.NET and it's free for all our customers (even our free-users). So you can download it, integrate it into your site, and use it without paying us a cent.

如果您不喜欢自己编写此代码,那么我们将为LimeLM客户提供完整的支付表单。它是为PHP、c#和VB编写的。它对我们所有的客户(甚至我们的免费用户)都是免费的。所以你可以下载它,把它整合到你的网站上,不用付我们一分钱就可以使用它。

Here's what the payment selection page looks like:

付款选择页面如下:

如何在PHP中集成Web应用程序中的MoneyBookers ?

#2


3  

You need to get the documentation from MoneyBookers, for example this: http://www.moneybookers.com/app/help.pl?s=m_manual for the merchant gateway, and a testing account. Then read it thoroughly a few times and understand the flow. Then go to the Demo section of that page, and see that. Finally, start coding, and make tests with your test account.

您需要从MoneyBookers获得文档,例如:http://www.moneybookers.com/app/help.pl?s=m_manual for the merchant gateway, and a testing account。然后通读几遍,理解流程。然后转到该页面的演示部分,看看这个。最后,开始编写代码,并使用您的测试帐户进行测试。

#3


0  

Skrill is not using Moneybooker, now it has changed its test payment method. Documented here Page # 13 ( 2.3.2 ): https://www.skrill.com/fileadmin/content/pdf/Skrill_Quick_Checkout_Guide.pdf

Skrill并没有使用Moneybooker,现在它已经改变了它的测试付款方式。在此记录第13页(2.3.2):https://www.skrill.com/fileadmin/content/pdf/Skrill_Quick_Checkout_Guide.pdf

Use below Merchant Test Accounts provided by Skrill:

如何在PHP中集成Web应用程序中的MoneyBookers ?

C# Code:

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)

For test payment use below test cards numbers after redirecting to Skrill:

如何在PHP中集成Web应用程序中的MoneyBookers ? NOTE: Amex uses four digits test CVV

注意:Amex使用四位数测试CVV

#1


36  

I cover this topic in detail on a recent blog post of mine: How to automate Moneybookers (Skrill) using status_url (IPN). There is example code for PHP and C# and pictures illustrating the points:

在我最近的一篇博客文章中,我详细地讨论了这个话题:如何使用status_url (IPN)自动化摇钱树(Skrill)。这里有PHP和c#的示例代码,以及说明这些点的图片:

  1. Signup for a Moneybookers test account
  2. 注册一个Moneybookers测试账户
  3. Create a “secret word”
  4. 创建一个“秘密词”
  5. Create your own payment form (with your logo on the Moneybookers checkout page)
  6. 创建您自己的付款表(在Moneybookers checkout页面上有您的标识)
  7. Verify the Moneybookers order
  8. 验证Moneybookers秩序

I won't cover every step here, because if I did my answer would take up several pages. However I will cover the 4th topic (verifying the Moneybookers order) because the answer currently on this page is riddled with problems (SQL injections, etc.). If you want in-detail instructions for every step then read my article.

我不会在这里介绍每一步,因为如果我做了,我的答案会占用几页纸。但是,我将讨论第4个主题(验证Moneybookers订单),因为这个页面上当前的答案充满了问题(SQL注入等)。如果你想要详细说明每一步,请阅读我的文章。

Simple payment form on your website

I go into this in more detail in the article, but here's a simple payment form. Replace the bold values with your correct prices, app name, and Moneybookers email:

我将在本文中对此进行更详细的介绍,但这里有一个简单的付款表单。用你正确的价格、应用程序名称和Moneybookers电子邮件来替换粗体的值:


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

Verifying the Moneybookers order

After a user has paid for your software, eBook, or other digital content you'll want to automatically verify the order and send what they ordered to their email address. In this example I mention creating a product key using LimeLM, but you can really do anything.

当用户为您的软件、电子书或其他数字内容付费后,您将希望自动验证订单并将订购的内容发送到他们的电子邮件地址。在本例中,我提到了使用LimeLM创建一个产品密钥,但是您确实可以做任何事情。

In the example form above you set the location of script that will verify the Moneybookers orders:

在上面的示例表单中,您设置了用于验证Moneybookers订单的脚本的位置:


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

The relevant part of the script is this:

该脚本的有关部分是:


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

$MBEmail = 'merchant-email@example.com';

// 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: generate the product keys and
    //      send them to your customer.
}
else
{
    // Invalid transaction. Bail out
    exit;
}

If you don't know how to set your secret word in Moneybookers, I explain how to do this in the " How to automate Moneybookers (Skrill) using status_url (IPN)" article.

如果您不知道如何在Moneybookers中设置密码,我将在“如何使用status_url (IPN)自动化Moneybookers (Skrill)”文章中解释如何设置密码。

Full payment example

If you're not keen on writing this code yourself then we have a fully built payment form for our LimeLM customers. It's written for PHP, C#, and VB.NET and it's free for all our customers (even our free-users). So you can download it, integrate it into your site, and use it without paying us a cent.

如果您不喜欢自己编写此代码,那么我们将为LimeLM客户提供完整的支付表单。它是为PHP、c#和VB编写的。它对我们所有的客户(甚至我们的免费用户)都是免费的。所以你可以下载它,把它整合到你的网站上,不用付我们一分钱就可以使用它。

Here's what the payment selection page looks like:

付款选择页面如下:

如何在PHP中集成Web应用程序中的MoneyBookers ?

#2


3  

You need to get the documentation from MoneyBookers, for example this: http://www.moneybookers.com/app/help.pl?s=m_manual for the merchant gateway, and a testing account. Then read it thoroughly a few times and understand the flow. Then go to the Demo section of that page, and see that. Finally, start coding, and make tests with your test account.

您需要从MoneyBookers获得文档,例如:http://www.moneybookers.com/app/help.pl?s=m_manual for the merchant gateway, and a testing account。然后通读几遍,理解流程。然后转到该页面的演示部分,看看这个。最后,开始编写代码,并使用您的测试帐户进行测试。

#3


0  

Skrill is not using Moneybooker, now it has changed its test payment method. Documented here Page # 13 ( 2.3.2 ): https://www.skrill.com/fileadmin/content/pdf/Skrill_Quick_Checkout_Guide.pdf

Skrill并没有使用Moneybooker,现在它已经改变了它的测试付款方式。在此记录第13页(2.3.2):https://www.skrill.com/fileadmin/content/pdf/Skrill_Quick_Checkout_Guide.pdf

Use below Merchant Test Accounts provided by Skrill:

如何在PHP中集成Web应用程序中的MoneyBookers ?

C# Code:

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)

For test payment use below test cards numbers after redirecting to Skrill:

如何在PHP中集成Web应用程序中的MoneyBookers ? NOTE: Amex uses four digits test CVV

注意:Amex使用四位数测试CVV