首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Paypal返回"?“在返回URL的中间(无法获取token和PayerID)

Paypal返回"?“在返回URL的中间(无法获取token和PayerID)
EN

Stack Overflow用户
提问于 2018-07-04 07:23:01
回答 2查看 201关注 0票数 0

Paypal开始从沙箱返回此URL:

http://www.url.com/en/order/201807035911&success=true&paymentId=PAY-3VW434721W751862GLO563ZQ?token=EC-1CD5257354412893B&PayerID=AZDJ2H9PDTOYY

URL中间的问号( ..63ZQ****token=E ..)。在PHP SDK中配置的URL为:

$successUrl = "http://www.url.com/en/order/201807035911&success=true";

我可以毫无问题地通过_GET paymentId,但由于问号的原因,无法访问令牌和PayerID。

我不知道如何用一种聪明的方式解决它。我甚至尝试了.htaccess,这根本不起作用(我甚至没有得到paymentId参数):

RewriteRule ^(.*)/order/(.*)&success=(.*)&paymentId=(.*)?token=(.*)&PayerID=(.*) overview.php?jazyk=$1&id=$2&success=$3&paymentId=PAY-$4&token=$5&PayerID=$6 [L]

使用这个用于我的网站的.htaccess,我可以获取paymentID,但不能获取其余的内容。

RewriteRule ^(.*)/order/(.*) overview.php?jazyk=$1&id=$2 [L]

如何访问token和PayerID参数?

EN

回答 2

Stack Overflow用户

发布于 2018-07-04 07:30:12

我会检查配置的回发URL是否正确。它似乎有一个前面没有?&,用来标记查询字符串的开头。

"http://www.url.com/en/order/201807035911&success=true"

您不需要手动添加success=true,因为状态将在请求的查询字符串中提供。尝试将其设置为just:

"http://www.url.com/en/order/201807035911"
票数 0
EN

Stack Overflow用户

发布于 2018-07-04 07:32:09

您可以获取URL,获取?右侧的内容,然后使用parse_str()获取其他值。

如果你已经有了完整的网址,你可以跳过第一步中的$_SERVER['REQUEST_URI']

// your URL
$url = $_SERVER['REQUEST_URI'] ;

// split it on the '?'
$urlParts = explode('?',$url) ;

// grab the variables and put them in $rightOfTheQuestionMark
parse_str($urlParts[1],$rightOfTheQuestionMark) ;

您需要的内容现在位于数组$rightOfTheQuestionMark

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51163967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档