2013-08-13 3 views
1

У меня есть веб-сайт с использованием Paypal IPN, чтобы получать уведомление, когда мои клиенты платят. он отлично работает.Paypal IPN - Тайм-аут транзакции

Потому что у меня ограниченные запасы, я бронирую 30 минут. После этого задание cron задало транзакцию недействительной из-за таймаута, и запас был выпущен для кого-то другого, чтобы купить его.

Проблема в том, что клиент не платит за указанные 30 минут. Затем я получаю уведомление от Paypal по моему сценарию IPN, который сообщает мне, что эта транзакция, которую я признал недействительной в моей базе данных, оплачивается.

Есть ли способ предотвратить это? Может быть, способ сказать Paypal отменить заказ или немедленное возмещение?

Спасибо за любую помощь!

+0

Если вы используете SOAP для взаимодействия с paypal, то, вероятно, будет использоваться следующий api. https://cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_soap_r_RefundTransaction –

+0

Поскольку он прошел год с вашего вопроса, интересно, нашли ли вы простейшее решение этой проблемы. Какие-нибудь Новости? – kiks73

+0

Здравствуйте, не жалею, но у меня нет решения для этого, я даже не работаю в этой компании ... Удачи:/ –

ответ

1

найти этот код, чтобы дать вам возможность заполнить это. https://github.com/paypal/codesamples-php/blob/master/Merchant/sample/code/RefundTransaction.php

+0

Очень приятно, это может быть полезно. Тем не менее, это возврат денег, я думаю, что я могу немедленно вызвать его из paypal_ipn, а затем отобразить соответствующее сообщение покупателю ... отмена будет даже лучше, чем возврат, но я ничего не нашел об этом. Я подожду еще немного, чтобы посмотреть, появятся ли больше ответов, и если я не сделаю это. Благодаря ! –

+0

Я не думаю, что paypal разрешит отмену, так как они не получат от него никакой платы, но почему бы вам не распределить акции только при оплате товара? –

+0

Ну, я должен сохранить его для клиента, который первым нажал «купить его». Допустим, осталось только 1, а 5 человек пытаются ее купить ... Было бы проблемой –