PayPal Express Checkout Missing Total列

时间:2011-09-14 23:55:33

标签: paypal checkout

为什么我在结帐页面上错过了总数?

Missing Totals

道歉。

由于我的代码正在运行,因为它实际上是PayPal,并且所有字段都正确。 我认为没有必要发布代码。 我认为可以简单回答,“你在帖子中错过了向PayPal发送的XXXX变量。”

但是,看到这是StackOverflow,代码是必需的。

这是COLDFUSION(是的,因为人们认为这是一种死亡/垂死的语言)。

<cffunction name="expressCheckout" access="remote" returnformat="JSON" output="false" description="Processes PayPal Subscription">
    <cfargument name="L_BILLINGAGREEMENTDESCRIPTION0" type="string" required="yes" />
    <cfargument name="L_BILLINGTYPE0" type="string" required="yes" />
    <cfargument name="AMT" type="numeric" required="yes" />

    <cfset var username = "wpp_1306278086_biz_api1.blahblah.com">
    <cfset var password = "1306278555">
    <cfset var signature = "someSig">
    <cfset var serverURL = "https://api-3t.sandbox.paypal.com/nvp">
    <cfset var version = "65.1">

    <cfset requestData = StructNew()>
    <cfset requestData.USER = "#USERNAME#">
    <cfset requestData.PWD = "#PASSWORD#">
    <cfset requestData.SIGNATURE = "#SIGNATURE#">
    <cfset requestData.SUBJECT = "">
    <cfset requestData.VERSION = "#version#">
    <cfset requestData.METHOD = "SetExpressCheckout">
    <cfset requestData.AMT = "#arguments.AMT#">
    <cfset requestData.DESC = "#arguments.L_BILLINGAGREEMENTDESCRIPTION0#">
    <cfset requestData.CUSTOM = "#session.rfcid#">

    <cfset requestData.returnURL = "http://localhost:8500/rfc2-1/membership/payPalConfirm.cfm">
    <cfset requestData.cancelURL = "http://localhost:8500/rfc2-1/membership/creditcardform.cfm">

    <cfset payPalReturn = doHttppost(requestData, serverURL, "no")>
    <cfset payPalReturn = getNVPResponse(#URLDecode(payPalReturn)#)>

    <cfif payPalReturn.ACK EQ "Failure">
        <!--- return the error message --->
        <cfset payPalReturn.ERRORMESSAGE = #payPalReturn.L_LONGMESSAGE0#>
    </cfif>

    <cfreturn payPalReturn>

</cffunction>

将json对象返回到浏览器。 浏览器然后发送给我: https://sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=SomeToken

当我到达PayPal时,一切都很好。只是缺少左侧框中的总数(如图所示)

1 个答案:

答案 0 :(得分:0)

尝试将&amp; useraction = commit附加到PayPal重定向网址(https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-xxxxxx&useraction=commit) 。

不确定这适用于结算协议,但值得一试。无论如何,它都适用于定期付款。

编辑:
实际上,第二个想法;因为它是一个计费协议,不是固定价格(否则你首先不需要计费协议);这是有目的的。由于没有具体价格可以显示。