Paypal возвращает "?" в середине возвращаемого URL (не может получить токен и PayerID) - PullRequest
0 голосов
/ 04 июля 2018

Paypal начал возвращать из песочницы этот URL:

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

Знак вопроса в середине URL (.. 63ZQ **? ** token = E ..). URL, настроенный в PHP SDK:

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

Как получить доступ к токену и параметрам PayerID?

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Вы можете взять URL, получить содержимое справа от ? и использовать parse_str () , чтобы получить другие значения.

Если у вас уже есть полный URL, вы можете пропустить $_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 голосов
/ 04 июля 2018

Я бы проверил, правильно ли настроен URL обратной передачи. Похоже, что & без ? предшествует ему, чтобы отметить начало строки запроса.

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

Вам не нужно добавлять success=true вручную, так как статус будет указан в строке запроса. Попробуйте установить его просто:

"http://www.url.com/en/order/201807035911"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...