Как отменить транзакцию PayPal (Express Checkout)? - PullRequest
2 голосов
/ 15 декабря 2011

У меня есть приложение, которое использует Express Checkout для обработки платежей.

Мне нужен какой-то способ отменить транзакцию после вызова SetExpressCheckout (и чтобы пользователь заполнил свои данные на странице PayPal) и до того, как я действительно завершу его с помощью DoExpressCheckoutPayment.

Я не могу найти правильный способ сделать это в документации PayPal, могу ли я просто дать ему время или мне нужно сделать какой-нибудь вызов API?

Ответы [ 2 ]

1 голос
/ 16 декабря 2011

Вы просто даете время истечь. Если вы еще не вызвали DoExpressCheckoutPayment, никаких действий пока не произошло.
Срок действия токена истекает через три часа.

0 голосов
/ 06 июля 2012

Технически вы могли бы просто очистить токен REQUEST, сбросить сеанс ресеша и позволить ему истечь без риска (при условии, что вы используете переменные с теми же именами, с которыми приходили примеры API. Какой язык вы используете?

В PHP я бы просто сделал:

// empty token
$_REQUEST['token'] = NULL;

//unset reshash session
$_SESSION['reshash'] = NULL;
unset($_SESSION['reshash']);

Теперь вы бы идеально хотели перенаправить пользователя на страницу отмены, что-то вроде

header( 'Location: http://www.example.com/transactionCancelled.html' ) 

В противном случае, еслипользователь находится в фазе «ReviewOrder», он просто будет автоматически перенаправлен обратно в PayPal, чтобы начать новую транзакцию.

...