Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Integracja z DotPay
trifek
post 30.08.2019, 16:36:05
Post #1





Grupa: Zarejestrowani
Postów: 340
Pomógł: 0
Dołączył: 28.09.2015

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


Witajcie.
Mam pytanie dotyczące parametru signature w integracji z Dotpay.

Mam taki kod:
  1. private function generateSignature(Request $request, int $orderId, string $dotPayPrice, string $dotPayCurrency, string $dateTime, string $control, string $description, string $email, string $companyName, string $companeEmail): string
  2. {
  3. $pin = env('DOTPAY_PIN');
  4. $sign =
  5. $pin .
  6. env('DOTPAY_SHOP_ID') .
  7. //$_POST['operation_number'].
  8. //$_POST['operation_type'].
  9. 'new'.
  10. $dotPayPrice .
  11. $dotPayCurrency .
  12. //$_POST['operation_withdrawal_amount'].
  13. //$_POST['operation_commission_amount'].
  14. //$_POST['is_completed'].
  15. $dotPayPrice .
  16. $dotPayCurrency .
  17. $dateTime .
  18. //$_POST['operation_related_number'].
  19. $control .
  20. $description .
  21. $email .
  22. $companyName .
  23. $companeEmail;
  24. //$_POST['credit_card_issuer_identification_number'].
  25. //$_POST['credit_card_masked_number'].
  26. //$_POST['credit_card_expiration_year'].
  27. //$_POST['credit_card_expiration_month'].
  28. //$_POST['credit_card_brand_codename'].
  29. //$_POST['credit_card_brand_code'].
  30. //$_POST['credit_card_unique_identifier'].
  31. //$_POST['credit_card_id'].
  32. //$_POST['channel'].
  33. //$_POST['channel_country'].
  34. //$_POST['geoip_country'];
  35. $signature = hash('sha256', $sign);
  36. return $signature;
  37. }

dotPayPrice = kwota transakcji, $dotPayCurrency = waluta transakcji.


Według dotpay moje signature jest źle obliczane (otrzymuję inną wartość signature zwrotną od Dotpaya).

Wie ktoś może co mam nie tak w tej funkcji?
Go to the top of the page
+Quote Post
sazian
post 30.08.2019, 16:41:53
Post #2





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


Masz gotowy kod w dokumentacji https://ssl.dotpay.pl/s2/login/cloudfs1/mag...i_platnosci.pdf
strona 27
Go to the top of the page
+Quote Post
trifek
post 31.08.2019, 10:19:17
Post #3





Grupa: Zarejestrowani
Postów: 340
Pomógł: 0
Dołączył: 28.09.2015

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


Dzięki za linka, widziałem go już wcześniej.
Zmieniłem swój kod:

Parametry wysyłane do dotpay:
  1. 'api_version' => 'dev',
  2. 'chk' => $signature,
  3. 'amount' => $dotPayPrice,
  4. 'currency' => $dotPayCurrency,
  5. 'description' => $description,
  6. 'control' => $control,
  7. //'signature' => $signature,
  8. 'language' => $dotPayLanguage,
  9. 'ch_lock' => $ch_lock,
  10. 'url' => route('paymentConfirmationSplash'),
  11. 'urlc' => route('paymentConfirmation'),
  12. 'expiration_datetime' => Carbon::now()->addDays(1)->format('Y-m-d\TH:i:s'),
  13. 'payer' => [
  14. 'first_name' => $request->user()->name,
  15. 'email' => $request->user()->email,
  16. 'phone' => $request->user()->phone,
  17. ],


Otrzymuję takiego stringa:


  1. PINIDSKLEPUpaymentnew30.00PLN30.00PLN2019-08-31 10:32:297a0aa3e02570b35d9bcb011b38239c8a94f920ad612191337c1f0d5334e71eeba41f7492ee04e2
    c552652152987051c2db582d9e36e625cf5127353721982b42d0e61acbbe0adae6a00e8792a25ad87
    585e90fa60ec9f1040bf98d627d5d4438FnvJFlHO8a5S4nEWLl8l5wezLdxD5uhc1XWqgzDa3BJQ8UnP
    x3TRgcsmubW28XeRgqyiKozHOT7767YzweqWTLvIAhiOWvEQoGBYfrJOsp6m5jFhKSyAyk6x1H7zji9sE
    sG5bGkABXohDGTSJkmAb0It6tjT1C5j5R8ZQehTyLDN0yQo1g19ztTIsPgmXlKRgmS0iJAEMvtB08koCM
    DByEcxYsQwcDhQlDuZeQIN5wZ2PUM6kfL049syIeXV8OEidryzposEcmSfi2iXqYiPFeIPaAFbvBF1T52
    mfCUs3aBs9w5NdmZr5VQnoWBq2GTRYsPNu8DoeZqICq1eLsKrIQyYPHvLiRVtR5S6OyMq7bQ97CVweT98
    veA3YU10tHSmwqt3Ybg4iUrezYTbYmjJ1k5iZt2kG5sNM6COnzid8hJt8Ecrx6Q9Pr8GCL9Jylw2CjnPm
    EU2mNjNd95WXJoWbCesnGkTCxYVJKwmPXN08x9hWKPiLF3qBL9n12if366SluyHFYTxF6XvJg8CBlNIjI
    RQcwhNN14sI2K6YGkIXSUfbQC5IRwo455QIZOcRFp0a0174c7ba4522733fd7d6ebe18724d7Payment ID 51 - nazwa.mail@icloud.com kontakt@mail.pl


Obliczanie signature:

  1. private function generateSignature(Request $request, int $orderId, string $dotPayPrice, string $dotPayCurrency, string $dateTime, string $control, string $description, string $email, string $companyName, string $companeEmail): string
  2. {
  3. $sign =
  4. env('DOTPAY_PIN') . // PIN sklepu
  5. env('DOTPAY_SHOP_ID') . // ID sklepu
  6. //$_POST['operation_number'].
  7. 'payment' . // rodzaj płatności
  8. 'new' . // status
  9. $dotPayPrice . // wartosc zamowienia ze sklepu w formacie XX.XX
  10. $dotPayCurrency . // waluta PLN
  11. $dotPayPrice . // wartosc zamowienia ze sklepu w formacie XX.XX - identyczna jak wyzej
  12. $dotPayCurrency . // waluta PLN jw
  13. $dateTime . // 2019-08-31 10:32:29
  14. $control .
  15. $description .
  16. $email .
  17. $companyName .
  18. $companeEmail .
  19. 1; // channel
  20. //dd($sign);
  21. $signature = hash('sha256', $sign);
  22.  
  23. return $signature;
  24. }



Jednak w dalszym ciągu mam niezgodność signature sad.gif

Mój całościowy kod wygląda tak: https://pastebin.com/e7fAFrJk

Ten post edytował trifek 31.08.2019, 10:19:45
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 07:11