ColdFusion (CFML) переменные проигрышных сессий ТОЛЬКО на мобильных устройствах с Paypal API - PullRequest
0 голосов
/ 26 января 2019

ОК. Кажется, я теряю переменные сеанса, когда покупатель возвращается из Paypal для оплаты PDT.Это не происходит ни с одним обычным браузером.У меня вопрос, как я могу отправить информацию о сеансе в Paypal и попросить их вернуть ее, когда они отправят пользователя обратно на сайт.Пожалуйста, ознакомьтесь с приведенным ниже кодом, который может предоставить дополнительную информацию.

<cfform name="CustomerInfo" action="https://www.paypal.com/cgi-bin/webscr" method="post">
    <!--- Paypal cart setup ---> 
    <input type="hidden" name="cmd" value="_cart">
    <input type="hidden" name="upload" value="1">
    <input type="hidden" name="business" value="Beantownaquatics@gmail.com">
    <input type="hidden" name="currency_code" value="USD">
    <input type="hidden" name="return" value="http://www.beantownaquatics.com/checkoutcomplete.cfm">

<cfset ppHostname = "www.paypal.com">
<CFHTTP url="https://#ppHostname#/cgi-bin/webscr" method="POST" resolveurl="no"> 
    <cfhttpparam name="Host" type="header"    value="#ppHostname#">
    <cfhttpparam name="cmd"  type="formField" value="_notify-synch">
    <cfhttpparam name="tx"   type="formField" value="#txToken#">
    <cfhttpparam name="at"   type="formField" value="#authToken#">
</CFHTTP>

Я думаю, что передать сеанс в Paypal было бы проще, но я не могу заставить его работать.Также я думал о вставке строки JSON в базу данных и просто передать ее пользователю, когда они вернутся.для обработки моих обновлений инвентаря.

Любой совет был бы замечательно застрять здесь пару дней.

1 Ответ

0 голосов
/ 27 января 2019

Вам нужно использовать поле с именем 'custom'.

<input type="hidden" name="custom" value="value1|value2|value3">

Обычно я делю свои значения с помощью канала, например '|', и затем разделяю их, как только они возвращаются, используя:

<cfset content = URLdecode(cfhttp.FileContent)>

<cfloop list="#content#" index="curLine" delimiters="#chr(10)#">
    <cfif listGetAt(curLine,1,"=") is "custom">
        <cfset values=listGetAt(curLine,2,"=")>
        <cfset value1=listGetAt(values,1,"|")>
        <cfset value2=listGetAt(values,2,"|")>
        <cfset value3=listGetAt(values,3,"|")>
    </cfif>
</cfloop>
...