Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PayPal Sandbox - jak testować?
ZaqU
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 21.01.2013

Ostrzeżenie: (0%)
-----


Witajcie,

Natknąłem się na pewien problem z którym nie mogę sobie poradzić. Pytanie do osób, które miały już styczność z podłączaniem i testowaniem płatności PayPal. Mam do dyspozycji skrypt systemu depozytów z codecanyon
http://codecanyon.net/item/deposit-system/59753
i chciałbym go dostosować do własnych potrzeb. Działa on na takiej zasadzie, że wysyła następujący formularz:
  1. <form name="depositform" id="depositform" method="post" action="<?php echo self::payment_action(); ?>">
  2. <input type="hidden" name="rm" value="2"/>
  3. <input type="hidden" name="cmd" value="_xclick"/>
  4. <input type="hidden" name="business" value="<?php echo $paypalmail; ?>"/>
  5. <input type="hidden" name="item_name" value="Deposit cash"/>
  6. <input type="hidden" name="no_shipping" value="1"/>
  7. <input type="hidden" name="return" value="<?php echo $siteurl; ?>deposit_example.php?action=success"/>
  8. <input type="hidden" name="notify_url" value="<?php echo $siteurl; ?>includes/depositipn.php"/>
  9. <input type="hidden" name="cancel_return" value="<?php echo $siteurl; ?>deposit_example.php?action=cancel"/>
  10. <input type="hidden" name="custom" value="<?php echo $useridentify; ?>" />
  11. <input type="hidden" name="amount" value="<?php echo $amount; ?>" />
  12. <p><?php echo $depositconfirm; ?></p>
  13. <input type="submit" name="checkout" value="Proceed with payment" />
  14. </form>

na adres: https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_flow&SESSION=...&dispatch=...

Niestety nie wiem co dalej. Po wypełnieniu formularza pojawia się informacja że płatność została zaakceptowana, na podany adres e-mail przyjdzie potwierdzenie, a niestety nie działa to tak jak powinno, tj. nie wysyła maila i nie zapisuje w systemie płatności. Muszę przetestować czy ten system działa, ale jak na razie nie wiem jak. To czego potrzebuję, to informacja na temat tego jakie API wykorzystuje podana wyżej metoda i gdzie szukać dokumentacji do niej (PayPal oferuje dziesiątki różnych API i trudno się połapać, a nigdy wcześniej nie korzystałem z tego systemu).
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ZaqU
post
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 21.01.2013

Ostrzeżenie: (0%)
-----


Pojawił się jeszcze jeden (ostatni mam nadzieję) problem. Mianowicie, po wykonaniu cURL'a, komenda curl_exec() zwraca (moim zdaniem) coś zupełnie nieoczekiwanego. W każdym bądź razie, kod w liniach 6-7 nie działa tak jak powinien, nie rozdziela odpowiedzi cURL do tablicy i przez to nie może uzyskać ostatniego elementu tablicy. Pierwsze dwa error_log'i zwracają dokładnie tą samą wartość, zaś kolejne (ostatnie) dwa nie wykonują się w ogóle.

Kod PHP:
  1. $res = curl_exec($ch);
  2. error_log(date('[Y-m-d H:i e] '). "Res:" . $res . PHP_EOL, 3, LOG_FILE);
  3.  
  4. // ...
  5.  
  6. $tokens = explode("\r\n\r\n", trim($res));
  7. $res = trim(end($tokens));
  8.  
  9. error_log(date('[Y-m-d H:i e] '). "Res (end) (trim): " . $res . PHP_EOL, 3, LOG_FILE);
  10.  
  11. if(strcmp ($res, "VERIFIED") == 0) {
  12. // ...
  13.  
  14. if($testmode == true) {
  15. error_log(date('[Y-m-d H:i e] '). "Verified IPN: $req ". PHP_EOL, 3, LOG_FILE);
  16. }
  17. } else if (strcmp ($res, "INVALID") == 0) {
  18. // log for manual investigation
  19. // Add business logic here which deals with invalid IPN messages
  20. if($testmode == true) {
  21. error_log(date('[Y-m-d H:i e] '). "Invalid IPN: $req" . PHP_EOL, 3, LOG_FILE);
  22. }
  23. }

Error_log (czyt. zawartość zmiennej $res):
  1. HTTP/1.1 301 Moved Permanently
  2. Date: Sat, 10 Jan 2015 12:42:01 GMT
  3. Server: Apache
  4. X-Frame-Options: SAMEORIGIN
  5. Set-Cookie: c9MWDuvPtT9GIMyPc3jwol1VSlO=CeY3DFkK4kmUWbEDXYM7uueRiUOFPa-84KUAovXIG_fsXe8Hh2D3poYB0juYEko72ZHJDP-BBSzGZ3dsAMAK7YCnGpJNNeyx_8mtlj3kfzin2oMxAS4ybmGyMzEebF9tbDE_qn4zbwU8xnQ9Uk5cxjW
    Wg9J29JQBa4Ejgnp_nd2K407qtd5fwLmmiDuRJdBKS5XyIISWVBE2yzMk6H4F3-YBzcFyd3N4uij0EB4qF8sLHFNR9YxjHHUK1EO; domain=.paypal.com; path=/; Secure; HttpOnly
  6. Set-Cookie: cookie_check=yes; expires=Tue, 07-Jan-2025 12:42:01 GMT; domain=.paypal.com; path=/; Secure; HttpOnly
  7. Set-Cookie: Apache=10.72.108.11.1420893721319433; path=/; expires=Mon, 02-Jan-45 12:42:01 GMT
  8. Vary: Accept-Encoding,User-Agent
  9. Connection: close
  10. Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.WEB.1%26silo_version%3D880%26app%3Dslingshot%26TIME%3D421441876; domain=.paypal.com; path=/; Secure; HttpOnly
  11. Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT
  12. Set-Cookie: Apache=10.72.128.11.1420893721308461; path=/; expires=Mon, 02-Jan-45 12:42:01 GMT
  13. Location: [url="https://www.sandbox.paypal.com/pl/cgi-bin/webscr?cmd=_home&country_lang.x=true"]https://www.sandbox.paypal.com/pl/cgi-bin/w...try_lang.x=true[/url]
  14. Strict-Transport-Security: max-age=14400
  15. Transfer-Encoding: chunked
  16. Content-Type: text/html; charset=ISO-8859-1


Czy ktoś domyśla się w czym może leżeć problem?

Ten post edytował ZaqU 10.01.2015, 15:18:50
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 07:25