2016-09-30 39 views
5

Mam już utworzone konto Paypal/Developer/Sandbox. Masz już poświadczenia interfejsu API.Magento 2: Jak zmienić metodę płatności w locie w Paypal Express

Pobrano PHP SDK http://paypal.github.io/PayPal-PHP-SDK/

Odnosząc: https://developer.paypal.com/docs/api/

https://devtools-paypal.com/guide/expresscheckout/php?interactive=ON&env=sandbox

już zrobione Piaskownica jednej transakcji z autoryzacji Metoda z zastosowaniem mój skrypt PHP.

Co muszę osiągnąć. Potrzebuję uzyskać Autoryzowane płatności, Konwertuj płatności "Autoryzuj" na "Przechwytywanie/sprzedaż" Metoda & Powiadom klienta & Administrator również.

Jak uzyskać identyfikator autoryzacji?

Odnosząc powyższy dokument trzeba użyć 3 Web Services

  • Uzyskaj szczegóły autoryzowanego płatności
  • Przechwytywanie autoryzowanym płatność
  • Uzyskaj szczegóły zrobionego płatności

Już mieć identyfikator transakcji płatności "autoryzuj".

Proszę podać kroki do naśladowania & jeśli jakiś przykład już dostępny następnie podziel

potrzebę włączenia tej funkcji w Magento 2

[UPDATE]

ja zmieniłem API Sandbox Credentials w PHP SDK w pliku PayPal-PHP-SDK-master\sample\bootstrap.php.

Od sample/payments/AuthorizePayment.php otrzymam autoryzowaną płatność z identyfikatorem: PAY-0TV39791XXX02404VK7XD32I & działa poprawnie.

Kiedy wejście mój Transaction Id daje

{ "name": "INVALID_RESOURCE_ID", "message": "Żądana ID zasób nie był znaleziono.", "Information_link": "https://developer.paypal.com/webapps/developer/docs/api/#INVALID_RESOURCE_ID",” debug_id ":" 1f2b08ce88633 "}

Mój identyfikator transakcji Sandbox to 3AA32794KF48247AA. Pytanie, w jaki sposób przekonwertować swój identyfikator transakcji do ID płatności?

https://magento.stackexchange.com/questions/138579/magento-2-change-paypal-action-method-on-the-fly

Poniżej znajduje się odpowiedź Paypal

identyfikator transakcji mogą być wygenerowane po REST API wykonać płatność, Klasyczne API [NVP/SOAP] DoEC API lub normalne zakończenie zapłata przycisk. Nigdy nie będzie działać, aby odwrócić wyszukiwanie, aby znaleźć Identyfikator płatności.

+0

To zależy od Moderatorów SO, czy chcą zmienić pytanie z witryny SO na http://magento.stackexchange.com czy nie? Stać się ostatecznym rezultatem tego chcę w Magento 2. Dzięki –

+0

Hi SO Community, Proszę mnie poprowadzić, aby osiągnąć funkcjonalność. Dzięki –

+0

Witam, zaktualizowałem swoją odpowiedź, patrz poniżej. – stweb

Odpowiedz

1

Jeśli masz paymentId, można uzyskać szczegółowe informacje o upoważnionego płatności w ten sposób:

$payment = Payment::get($paymentId, $apiContext); 

Dla wszystkich propeties klasy płatniczej przyjrzeć ten - Payment.php

Aby zmienić Sandbox/API Poświadczenia edytują bootstrap.php w twoim projekcie.

UPDATE

Nie trzeba używać AuthorizePayment.php. Istead, wykonaj następujące czynności:

  1. Utwórz płatność i uzyskaj URL autoryzacji (strona internetowa).
  2. Wydrukuj adres URL w celu autoryzacji (strona internetowa).
  3. Cutomer śledzi adres URL autoryzacji i przechodzi do PayPal i autoryzuje płatność (strona PayPal).
  4. PayPal zwraca klienta do Twojej witryny za pomocą metody paymentId (strona PayPal).
  5. Złap paymentId i wykonaj płatność (strona internetowa).
+0

PaymentId = ID transakcji? Mam identyfikator transakcji. Jak uzyskać PaymentId na podstawie TransactionId? –

+0

Po zatwierdzeniu płatności po stronie PayPal następuje powrót do witryny z adresem płatności jako parametr get, dodany do zwrotnego adresu URL. Czy możesz wyjaśnić, jak uzyskać TransactionId? – stweb

+0

Chociaż mam identyfikator transakcji przechowywany w My Database z Paypal. Wciąż muszę jeszcze raz stworzyć całość? –