douka19950505 2014-03-08 20:52
浏览 66

Skrill:创建定期结算资料的正确方法是什么?

Recently I've been trying to implement recurring payments with Skrill (Moneybookers), following this guide and this tutorial.

But I came to a point where I submit my http/post data via a html form but the Skrill website replies with an error message:

Sorry, we cannot complete your payment at this time This payment cannot be completed due to insufficient or invalid transaction information. Message to merchant: Please check the parameter values submitted

Here is my form code:

<!-- 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 -->   

I can't figure out which field (or absence of) may cause this error.

I will appreciate any suggestions.

Thanks

  • 写回答

1条回答 默认 最新

  • donglankui1263 2016-06-22 09:02
    关注

    To implement recurring payments, on your initial payment, provide these parameters as per Skrill 1‐Tap Guide 1.4: ondemand_max_amount, ondemand_max_currency, ondemand_note

    You'll be redirected on Skrill Checkout page, fill out the details just like on normal skrill transaction. If successful, Skrill will send the response to your status_url. The response will contain the 'rec_payment_id' (in xml format, just extract the details) and you should save this because it will be used on the recurring payments request.

    During the recurring payment request, you need to send a 'prepare' request first (use the Skrill 1‐Tap Guide 1.4 and verify the required parameters) and this request will give you the session id(sid) in XML format, just extract and it will be used for the second request 'execution'. If success, skrill will give you the response (in xml) with the details of your transaction.

    *Take note that URL for this request will be different from the URL used in initial payment and the content-type is application/x-www-form-urlencoded

    Example: Initial Payment

    <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>

    Prepare request

    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
    

    Successful response will look like this:

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

    Execution request

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

    Successful response will look like this:

    <?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>
    
    </div>
    
    评论

报告相同问题?

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP