Skrill:创建循环计费配置文件的正确方法是什么?


Skrill: What is correct way to create recurring billing profile?

最近我一直在尝试使用Skrill (Moneybookers)实现定期付款,遵循本指南和本教程。

但是我到了一个点,我通过html表单提交我的http/post数据,但是Skrill网站回复了一个错误消息:

对不起,我们现在无法完成你的付款由于交易不足或无效,无法完成信息。给商家的信息:请检查参数值提交

这是我的表单代码:

<!-- Skrill submit form -->
<form id="skrillForm" action="https://www.moneybookers.com/app/payment.pl" method="post">
 <input type="hidden" name="pay_to_email" value="my_merchant_user@gmail.com"/>
 <input type="hidden" name="status_url" value="http://my.website.com/ipnlistener?payment_type=skrill"/> 
 <input type="hidden" name="language" value="EN"/>
 <input type="hidden" name="amount" id="skrillAmount" value="1"/>
 <input type="hidden" name="currency" value="EUR"/>
 <input type="hidden" name="detail1_description" value="Subscription"/>
 <input type="hidden" name="detail1_text" value="Test"/>
 <input type="hidden" name="merchant_fields" value="cust_user_id"/>
 <input type="hidden" name="cust_user_id" value="1"/>
 <input type="hidden" name="rec_amount" value="1"/>
 <input type="hidden" name="rec_period" value="1"/>
 <input type="hidden" name="rec_cycle" value="day"/>
 <input type="hidden" name="rec_status_url" value="http://my.website.com/ipnlistener?payment_type=skrill"/>             
 <input type="hidden" name="rec_start_date" value="08/03/2014"/>
</form><!-- End of Skrill submit form -->   

我不知道哪个字段(或缺少)可能导致这个错误。

我将感谢任何建议。

谢谢

要实现定期付款,在您的首次付款时,根据Skrill 1‐Tap指南1.4提供这些参数:Ondemand_max_amount, ondemand_max_currency, ondemand_note

您将被重定向到Skrill Checkout页面,填写详细信息,就像正常的Skrill交易一样。如果成功,Skrill将把响应发送到status_url。响应将包含'rec_payment_id' (xml格式,只需提取详细信息),您应该保存它,因为它将用于定期付款请求。

在循环付款请求期间,您需要首先发送一个"准备"请求(使用Skrill 1‐Tap Guide 1.4并验证所需参数),该请求将以XML格式为您提供会话id(sid),只需提取,它将用于第二个请求"执行"。如果成功,skrill将给您响应(xml格式),其中包含您的事务的详细信息。

*请注意,此请求的URL将不同于初始支付中使用的URL,内容类型为application/x-www-form-urlencoded

的例子:首次付款

<form action="https://pay.skrill.com" method="post" target="_blank">
<input type="hidden" name="pay_to_email" value="contact@merchant.com">
<input type="hidden" name="status_url" value="https://www.merchant.com/status">
<input type="hidden" name="language" value="EN">
<input type="hidden" name="amount" value="39.60">
<input type="hidden" name="currency" value="GBP">
<input type="hidden" name="detail1_description" value="Description:">
<input type="hidden" name="detail1_text" value="Romeo and Juliet">
<input type="hidden" name="recipient_description" value="ACME Solutions">
<input type="hidden" name="ondemand_max_amount" value="150.00">
<input type="hidden" name="ondemand_max_currency" value="EUR">
<input type="hidden" name="ondemand_note" value="Your 1‐Tap Payment">
<input type="hidden" name="ondemand_status_url"
value="www.merchant.com/ondemandstatus1">
<input type="hidden" name="ondemand_status_url2"
value="www.merchant.com/ondemandstatus2">
<input type="submit" value="Pay!">
</form>

准备请求

POST https://www.skrill.com/app/ondemand_request.pl
Content-Type: application/x-www-form-urlencoded
email=sample.merchant%40sunfish.com&password=fb0dc09bd0989fe975afd3e4ddabb926&action=prepare&amount=1.23&currency=EUR&ondemand_note=ondemand+note&frn_trn_id=12341990&rec_payment_id=1668618647

成功的响应如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<response>
<sid>4414c2a969c744c27bd674a0b0a5ba8a</sid>
</response>

执行请求
POST https://www.skrill.com/app/ondemand_request.pl
Content-Type: application/x-www-form-urlencoded
sid=84034fe3e5c9f6ef54e51efbbe9f2767&action=request

成功的响应如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<response>
<transaction>
<amount>10.34</amount>
<currency>EUR</currency>
<id>1668624876</id>
<status>2</status>
<status_msg>processed</status_msg>
</transaction>
</response>