2012-08-01 17 views
5

Mam prosty przycisk Zapłać teraz, kod utworzony za pomocą przycisku do przycisku, z "niestandardowym" ukrytym polem dodanym w celu jego identyfikacji. Zastanawiam się, czy jest jakieś dodatkowe ukryte pole, które mogę dodać, aby powiedzieć serwisowi PayPal, że "Ta transakcja nie powinna być wykonana dwa razy".Jak zapobiec powtarzaniu płatności PayPal?

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"> 

    <input type="hidden" name="cmd" value="_s-xclick"> 
    <input type="hidden" name="custom" value="{MYUNIQUEID}"> 
    <input type="hidden" name="hosted_button_id" value="{MYHOSTEDBUTTONID}"> 
    <input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif" 
    border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> 
    <img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> 

</form> 

Jak to jest teraz to jest mało prawdopodobne, że klient powinien być w stanie zapłacić dwa razy, ale zauważyłem, że gdy Sandbox miał usterkę udało mi się płacić tę samą transakcję dwukrotnie. Coś, czego absolutnie chcę uniknąć. Nie tylko dla klienta, który mógłby otrzymać zwrot pieniędzy, oczywiście, ale także dlatego, że nie chcę, aby moja baza danych zawiodła i chciałbym uniknąć obszernego kodowania, aby złapać duplikaty płatności ...

Odpowiedz

12

Chciałbyś dodać niepowtarzalny identyfikator do parametru "faktura"; <input type="hidden" name="invoice" value="your unique invoice ID"> i włącz "Blokuj zduplikowane płatności" w sekcji "Profil"> "Moje narzędzia sprzedaży" na swoim koncie pod adresem www.paypal.com

8

Dzięki Robert! (Powyżej postu)

I rzeczywiście poszedł tak daleko, że miałem zamiar zapytać PayPal sprzedawcy z pomocą techniczną o nim i tuż przed złożeniem moje pytanie nie znalazłem stronę z odpowiedzią -

Unikanie zduplikowanych płatności: https://ppmts.custhelp.com/app/answers/detail/a_id/165

Nie wiem, czy masz się zalogować, aby zobaczyć powyżej stronie więc cytuję stronę tutaj dla wygody:

można uniknąć duplikatów transakcji przekazując numer faktury do system PayPal. Ta funkcja jest dostępna dla Płatności za pośrednictwem witryny Standard oraz Płatności za pośrednictwem witryny (SOAP i NVP). System PayPal sprawdzi, czy numer faktury, który przekazałeś, nie został jeszcze opłacony na koncie , o ile skonfigurowałeś swój profil , aby zablokować duplikaty numerów faktur.

Przykład: Faktura 001 została zapłacona, dlatego jeśli 001 zostanie przekazany na konto PayPal po raz drugi, zostanie odrzucone.

Aby zablokować to w swoim profilu:

Zablokuj przypadkowych płatności: Można zapobiec przypadkowemu płatności przez blokowanie zduplikowane identyfikatory fakturze

  1. Logowanie przy https://www.paypal.com

  2. Kliknij 'profilu' subtab

  3. W "Preferencjach sprzedaży" kliknąć "P ayment Odbieranie Preferencje

  4. Wybierz «Tak, blokowe wiele płatności za faktury ID», jeśli chcesz korzystać z tej funkcji podczas minięciu «faktura» zmienna

  5. Przewiń na dół strony i kliknij przycisk «Zapisz»

aby przekazać numer faktury dla Płatności za pośrednictwem witryny, będziesz trzeba dodać wiersz kodu do istniejącego kodu przycisku. Nie możesz dodać tego kodu do przycisku oryginalnie utworzonego jako zaszyfrowany. Przykład poniżej:

przypadku płatności za pośrednictwem witryny, parametr przekazać zależy od rodzaju API wywołuje robicie.

na mydło: InvoiceID

Dla NVP: INVNUM

Podczas korzystania Pro, jeśli duplikat numer faktury zostanie wykryty błąd 10412 będą zwracane. Aby uzyskać pełną listę kodów błędów interfejsu API, i szczegółowe informacje dotyczące błędu 10412: Click Here

+1

Bardzo szczegółowo, dziękuję Paul. :-) –

Powiązane problemy