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

Nis*_*ava 26 php payment-gateway moneybookers skrill payment-integration

我正在构建一个PHP网站,我们需要一个基于MONEYBOOKER的支付网关.

任何人都可以帮助将MoneyBookers网关嵌入我的网站.因为我使用的测试链接是:

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

但它没有显示任何汇款.

请帮忙!

Wya*_*Day 36

我在最近的博客文章中详细介绍了这个主题:如何使用status_url(IPN)自动化Moneybookers(Skrill).有PHP和C#的示例代码以及说明这些要点的图片:

  1. 注册Moneybookers测试帐户
  2. 创建一个"秘密词"
  3. 创建您自己的付款表单(在Moneybookers结帐页面上显示您的徽标)
  4. 验证Moneybookers订单

我不会涵盖这里的每一步,因为如果我做了我的答案会占用几页.但是,我将介绍第4个主题(验证Moneybookers订单),因为此页面上的答案存在问题(SQL注入等).如果您需要每个步骤的详细说明,请阅读我的文章.

您网站上的简单付款表格

在文章中详细介绍了这一点,但这是一个简单的付款方式.将粗体值替换为正确的价格,应用名称和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>
Run Code Online (Sandbox Code Playgroud)

验证Moneybookers订单

在用户为您的软件,电子书或其他数字内容付款后,您需要自动验证订单并将他们订购的内容发送到他们的电子邮件地址.在这个例子中,我提到使用LimeLM创建产品密钥,但你可以做任何事情.

在上面的示例表单中,您可以设置将验证Moneybookers订单的脚本位置:


<input type="hidden" name="status_url" value="http://example.com/verify.php"/> 
Run Code Online (Sandbox Code Playgroud)

脚本的相关部分是这样的:


// 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;
}
Run Code Online (Sandbox Code Playgroud)

如果您不知道如何在Moneybookers中设置您的秘密词,我将在" 如何使用status_url(IPN)自动化Moneybookers(Skrill) "一文中解释如何执行此操作.

完整付款示例

如果您不想自己编写此代码,那么我们为LimeLM客户提供完整构建的付款表单.它是为PHP,C#和VB.NET编写的,它对所有客户(甚至是我们的免费用户)都是免费的.因此,您可以下载它,将其集成到您的网站,并使用它而无需支付我们一分钱.

以下是付款选择页面的外观:

在此输入图像描述