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

Posted

技术标签:

【中文标题】如何在 PHP 中将 MoneyBookers 集成到 Web 应用程序中? [关闭]【英文标题】:How to integrate MoneyBookers in Web application in PHP? [closed] 【发布时间】:2010-12-05 08:48:09 【问题描述】:

我正在创建一个 php 网站,需要集成 MONEYBOOKER 作为支付网关。

在将 MoneyBookers 网关嵌入我的网站时需要帮助。因为我使用的是测试链接(沙盒 URL),它是:

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

我面临的问题是,MONEYBOOKERs 在测试时没有显示任何转换。

请帮忙!

【问题讨论】:

到目前为止你尝试过什么?另外,这个服务到底存在吗? @NicoHaase 嘿,Noco,这是一个 10 年前的问题。不确定,服务是否仍然存在。 我投票结束这个问题,因为查询已经很老了,我得到了答案。 【参考方案1】:

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

使用 Skrill 提供的以下商家测试账户:

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 后,使用下面的测试卡号进行测试付款:

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

【讨论】:

嗨,我是集成 skrill 快速结帐,但返回的 msid 与我们这一代不同,您能告诉我们生成 msid 的模式是什么。 msid 在 Skrill 数据库中应该不同,它不应该重复。【参考方案2】:

我在最近的一篇博文中详细介绍了这个主题:How to automate Moneybookers (Skrill) using status_url (IPN)。有 PHP 和 C# 的示例代码和说明要点的图片:

    注册 Moneybookers 测试帐户 创造一个“秘密词” 创建您自己的付款表单(在 Moneybookers 结帐页面上带有您的徽标) 验证 Moneybookers 订单

我不会在这里涵盖每一步,因为如果我这样做了,我的答案会占据好几页。但是,我将介绍第四个主题(验证 Moneybookers 订单),因为当前此页面上的答案充满了问题(SQL 注入等)。如果您想了解每个步骤的详细说明,请read my article

您网站上的简单付款表格

我会更详细地讨论这个in the article,但这里有一个简单的付款表格。将粗体值替换为您的正确价格、应用名称和 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>

验证 Moneybookers 订单

在用户为您的软件、电子书或其他数字内容付款后,您需要自动验证订单并将他们订购的内容发送到他们的电子邮件地址。在这个例子中我提到了 creating a product key using 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: @987654325@ and
    //      send them to your customer.

else

    // Invalid transaction. Bail out
    exit;

如果您不知道如何在 Moneybookers 中设置密码,我会在“How to automate Moneybookers (Skrill) using status_url (IPN)”文章中解释如何设置。

全额付款示例

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

payment selection page 是这样的:

【讨论】:

说“它不工作”是没有用的。见:"How to Report Bugs Effectively" by Simon Tatham(腻子名声)。

以上是关于如何在 PHP 中将 MoneyBookers 集成到 Web 应用程序中? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何将 MoneyBookers 与 ASP.NET 应用程序集成?

在 PHP 中将 PDO 记录集转换为 JSON [重复]

在PHP中将MySQL记录集转换为JSON字符串[重复]

如何在 C# 中将数据集加载到 libsvm 中

Python,类数据集,如何在pytorch中将图像与其各自的标签连接起来

如何在 Visual Studio 中将源附加到引用的程序集