WordPress теми

PDT

Прехвърлянето на данни за плащане получава данните за транзакциите от покупката, направена на сайта на paypal и вие искате да ги вземете на собствения си сайт и да ги покажете на потребителя. Също така може да искате да го съхраните във вашата база данни за целите на архивирането и проследяването. Но не мога да следвам точно документацията тук

Това, което не получавам, е

След като активирате PDT, всеки път, когато купувач извърши плащане на уебсайт и бъде пренасочен към вашия URL адрес за връщане, токенът на транзакцията ще бъде предаден като променлива „GET“ към този URL адрес за връщане. За да използвате правилно PDT и да показвате подробности за транзакцията на вашия клиент, трябва да извлечете маркера на транзакцията, името на променливата "tx" и да изтеглите данните за транзакцията от PayPal, като създадете HTTP POST към PayPal.

Вашият POST трябва да бъде изпратен на https://www.paypal.com/cgi-bin/webscr. Трябва да публикувате токена на транзакцията, като използвате променливата "tx" и стойността на предварително получения токен на транзакцията (напр. "Tx = транзакция_токен"), както и специалния маркер за идентичност, използвайки променливата при и стойността на вашия PDT идентификационен маркер (например " при = идентичност_токен "). Също така ще трябва да добавите променлива с име "cmd" със стойността "_notify-synch", например "cmd = _notify-synch", към низа POST.

IPN

Настроих известие за незабавно плащане чрез настройка съгласно тази документация. Това е основно влизане във вашия акаунт в paypal и активиране на IPN, като същевременно се посочва URL, където ще бъде изпратено известието. Това се използва за попълване на поръчка, така че продуктът да може да бъде изпратен. Това, което направих, е да настроя PHP страница. Създадох таблица и всеки път, когато тази страница се извика (или удари), тя регистрира запис в таблицата, така че знам, че е известие от Paypal. Но и това не работи.

Какво наистина правя грешно? Първото нещо, което искам да направя, е когато купувачът плати сумата, той автоматично се пренасочва към моя сайт. Активирах това, но автоматичното пренасочване просто не работи. Вместо това му се показва URL като опция, след като се покаже потвърждението за плащане.

Може ли някой да ме насочи как протича процесът на PDT? Къде да направя заявката за PDT, дали е при първата заявка (бутон Купете сега) или се изпраща по-късно?

Събиране

Намерих добър код за вземане на проби как всичко трябва да работи, но все още не работи. Използвам този код http://officetrio.com/modules/free-php-paypal-ipn-script.php за IPN. Използвам това за PDT. Този използва SSL, промених SSL на обикновен HTTP (копирана версия на paypal), все още не работи. http://ykyuen.wordpress.com/2010/02/17/paypal-payment-data-transfer-sample-code/

Когато интегрирам PayPal, използвам само маркера за транзакция PDT на връщащия URL адрес, за да позволя на потребителя да види състоянието на плащането. Така че, когато потребителят се върне от PayPal, уебсайтът издава POST заявка (от страна на сървъра) към сървъра на PayPal и текущото състояние се извлича. Тази информация се показва на потребителя заедно с всички подробности за поръчката. Ако не успее, на потребителя се дава избор да опита отново или да избере друга опция за плащане. Ако е успял, не са необходими допълнителни действия.

Актуализирам действителното състояние на плащане на поръчката само след получаване на актуализация на IPN от PayPal. Тази IPN актуализация води отново до POST заявка към сървъра на PayPal и полученото състояние ще бъде използвано за актуализиране на състоянието на плащане.

Тествате ли с помощта на средата на PayPal Sandbox? За да бъда честен, това е болка в *** за използване и доста объркващо понякога, тъй като трябва да влизате няколко пъти с различни акаунти и типове акаунти, за да симулирате накрая плащане. Можете да включите автоматично връщане под Предпочитания за продажба -> Предпочитания за плащане на уебсайт и след това да активирате автоматично връщане, да активирате прехвърляне на данни за плащане и да предоставите URL адрес за връщане. Не е нужно да добавяте променливата на tx querystring, тъй като PayPal автоматично ще добави това.

Можете да включите IPN под Предпочитания за продажба -> Предпочитания за незабавно плащане) и да предоставите URL адреса за уведомяване, който PayPal трябва да използва. PayPal ще издава GET заявка към този URL адрес, когато има актуализация относно плащане.

  • Направих всичко това и получих наистина полезна връзка за изпълнение на всичко, но автоматичното връщане не работи. Можете ли да ми кажете как точно работи? Има ли междинно потвърждение за душа на paypal страница и след това пренасочва или е просто директно редактиране. Трябва ли paypal да ви одобри страницата, за да я активира? Всъщност използвам производствена среда, защото мога да възстановя транзакцията с малка такса.
  • 1 След плащането той показва междинен екран, който автоматично пренасочва обратно към уебсайта след 10 секунди (или ако потребителят щракне ръчно върху връзката). Това е последният екран, който виждам от PayPal на един от тестовите ми сайтове, използвайки средата на Sandbox. Доколкото знам, PayPal не трябва да одобрява връщащия ви URL адрес.
  • Това помага. Това ми се случи веднъж и не бях сигурен дали това е стандартният начин за пренасочване. Не се случи обаче печалба. Мислех по-скоро за директно пренасочване без междинен екран. Благодаря

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?