Wielokrotnie korzystałem z płatności na Alipay, ale nadal często wpadam w kłopoty, więc teraz to wyjaśnię dla odniesienia
1. O ustawianiu klucza publicznego
Pamiętaj, aby zwracać uwagę na "klucz publiczny Alipay", nie wpisuj klucza publicznego aplikacji, bo inaczej zostaniesz wystawiony na poważną pozycję
2. Adres domeny callbacka
Czysta, nie ma parametrów, takich jak: http://*****.com/notify.php, nie wpisuj: http://*****.com/back.php?r=notify.
Ta uwaga dotyczy korzystania z frameworka, musisz upięksić adres URL, w przeciwnym razie użyjesz bezpośrednio tego z parametrami, a callback umieści "? Jeśli wszystkie poniższe parametry zostaną usunięte, to faktyczna funkcja callback na pewno nie będzie dostępna, może to być tylko strona główna lub coś podobnego.
3. Zwróć uwagę na ustawianie nazw domen callback
To callback jest bramą aplikacyjną, a nie autoryzowanym adresem callback.
4. O parametrach zawierających język chiński
Callbacki z Alipay są przekazywane bezpośrednio po chińsku, bez kodowania. Kiedy zapisuję log, koduję go i umieszczam w logu, więc bezpośrednio używam narzędzia do weryfikacji zawartości logu, ale nie przechodzi on dalej. Więc po prostu używaj domyślnego zakazu kodowania w demie, nie koduj chińskiego. (Używam PHP, jeśli to chiński w Javie, muszę sam się tym zajmować)
5. Ostatnia rzecz to ostrzeżenie siebie
Upewnij się, że dobrze czytasz parametry i nie bazgrolisz. Parametr ID zamówienia w callbacku to "out_trade_no", a nie "orderid", kwota to "total_amount", a nie "money", ponieważ wiele interfejsów płatniczych jest zapisanych jednocześnie, więc weryfikacja callback jest funkcją publiczną, kopiowaną bezpośrednio, bez uwagi, a efekt jest stratą godzin na to. Zwróć na to uwagę w przyszłości.
Warto też zauważyć, na przykład: metoda sygnatury to "RSA2", kodowanie to "UTF-8" itd., demo ma domyślne ustawienia, tylko nie przesuwaj go, chyba że to konieczne. Jeśli nie potrzebujesz demonstracji, zwróć uwagę na te.
Synchroniczne przetwarzanie zwrotów (return_url): To jest zwrot wizualny, czyli powiadomienie o przeskoku strony, o ile płatność zakończyła się sukcesem, Alipay przeskakuje na ten adres metodą get i ma parametry do tej strony. Informacje o pozyskiwaniu klientów są kształtowane przez działania klientów. Jeśli kupujący zapłaci w całości Po zakończeniu obsługi klienta klient reaguje powoli, a kupujący zamyka stronę, gdy Alipay pojawia się komunikat "natychmiastowa płatność zakończona", wtedy strona klienta nie może uzyskać informacji, co u nas nazywa się "porzucone zamówienie". Co więcej, przetwarzanie zwrotu jest jednorazowe, czyli synchroniczne przetwarzanie zwrotu jest wywoływane po pomyślnym zakończeniu płatności. Asynchroniczne przetwarzanie zwrotów (notify_url): Jego interakcja z danymi odbywa się poprzez interakcję danych między serwerami, które muszą być umieszczone na serwerze (sieci publicznej) w celu testowania, a serwer przesyła wiadomości na stronę asynchronicznego przetwarzania zwrotów, co wymaga technologii klienta do przetwarzania powiązanych danych na stronie asynchronicznego przetwarzania zwrotów , a następnie każdy krok musi zostać zwrócony do sukcesu Alipay (nie może zawierać innych języków skryptowych HTML i nie może przeskakiwać po stronach. Jeśli przetwarzanie zwrotów jest w porządku, to praktycznie nie będzie żadnego odrzucenia zamówienia, ponieważ Alipay zwróci informacje o zamówieniu 6~10 razy w ciągu 24 godzin do strony klienta, dopóki Alipay nie odbierze sukcesu. Uwaga: Synchroniczne przetwarzanie zwrotów zależy od działań kupującego: Jeśli kupujący jest w operacji, Alipay wchodzi na stronę sukcesu Alipay po zakończeniu operacji, ponieważ serwer jest odpowiednio wolny, wtedy kupujący może zamknąć tę stronę, wtedy nie będzie można przyjąć informacji zwróconych przez Alipay, a niektóre bankowości internetowe nie wywołają synchronicznego zwrotu Alipay po płatności Wróć do strony przetwarzania, żeby nie móc przyjmować danych podczas przetwarzania synchronicznie.
|