如何在PHP的Web应用程序中集成MoneyBookers?[已关闭]
我正在创建一个PHP网站,需要集成MONEYBOOKER作为支付网关。
需要帮助将MoneyBookers网关嵌入到我的网站。由于我正在使用测试链接(沙盒URL),它是:
我面临的问题是,MONEYBOOKER在测试时没有显示任何转换。
请帮忙!
我正在创建一个PHP网站,需要集成MONEYBOOKER作为支付网关。
需要帮助将MoneyBookers网关嵌入到我的网站。由于我正在使用测试链接(沙盒URL),它是:
我面临的问题是,MONEYBOOKER在测试时没有显示任何转换。
请帮忙!
我在我最近的一篇博客文章中详细介绍了这个主题:如何使用status_url(IPN)自动化Moneybookers(Skrill)。有 PHP 和 C# 的示例代码,以及说明要点的图片:
我不会在这里介绍每一步,因为如果我这样做,我的答案将占用几页。但是,我将介绍第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>
在用户为您的软件、电子书或其他数字内容付款后,您将需要自动验证订单并将他们订购的内容发送到他们的电子邮件地址。在此示例中,我提到使用 LimeLM 创建产品密钥,但您确实可以执行任何操作。
在上面的示例表单中,您设置了将验证 Moneybookers 订单的脚本的位置:
<input type="hidden" name="status_url" value="http://example.com/verify.php"/>
脚本的相关部分是这样的:
// 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;
}
如果您不知道如何在Moneybookers中设置您的秘密单词,我会在“ 如何使用status_url(IPN)自动化Moneybookers(Skrill)”一文中解释如何做到这一点。
如果您不热衷于自己编写此代码,那么我们为LimeLM客户提供了一个完全构建的付款表单。它是为PHP,C#和 VB.NET 编写的,对于我们所有的客户(甚至是我们的免费用户)都是免费的。因此,您可以下载它,将其集成到您的网站中,并在不向我们支付一分钱的情况下使用它。
付款选择页面如下所示:
Skrill没有使用Moneybooker,现在它已经改变了测试支付方式。记录在这里 第13页 ( 2.3.2 ): https://www.skrill.com/fileadmin/content/pdf/Skrill_Quick_Checkout_Guide.pdf
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 += "¤cy=" + "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)