Clicky

Skocz do zawartości


Zdjęcie
- - - - -

[K3] Moduły płatności dla Kohany

16 odpowiedzi w tym temacie

  • Zaloguj się, aby dodać odpowiedź

#1 Riu

Riu

    Senior Mastah

  • Webmastahy
  • PipPipPip
  • 949 postów

Napisano 09 maj 2012 - 20:49

Były cms'y - teraz czas na skromniejszą, ale ważną listę - płatności:

https://github.com/retio/kohana-dotpay (dotpay.pl)
https://github.com/z...ana-przelewy24  (przelewy24.pl)
https://github.com/LKay/kohana-payment (platnosci.pl, dotpay.pl)

Debian/Ubuntu + Kohana/Hanariu/Phalcon + MongoDB/MySQL + HTML5/CSS3 + Node.js/jQuery + CEO Sport Magazyn/CEO Hanariu


#2 lorak110786

lorak110786

    Młodszy Mastah

  • Użytkownik
  • PipPip
  • 172 postów

Napisano 18 maj 2012 - 23:02

W związku z tym, że moduł LKay do płatności.pl (obecnie payU.pl) jest już trochę wiekowy, pamiętać należy że od 1 kwietnia 2011 zmieniło się nieznacznie api payU, więc polecam dokonać modyfikacje przed użyciem zgodnie z obecną dokumentacją.

Zmiany:
od 1 kwietnia 2011 metoda Payment/get zacznie działać tak jak metoda Payment/get2
Przy wyliczeniu siga będzie wymagany parametr amount.

#3 michal202

michal202

    Początkujący

  • Użytkownik
  • Pip
  • 10 postów

Napisano 05 lipiec 2012 - 11:53

Dostosowywał ktoś moduł LKay do kohana 3.2 ?

#4 kevin

kevin

    Młodszy Mastah

  • Użytkownik
  • PipPip
  • 207 postów

Napisano 26 sierpień 2012 - 20:04

hej, mam parę pytań odnośnie modułu płatności.pl (np. z źródła LKey);

1) Prowadząc sklep internetowy, którą funkcją/metodą mam zainteresować się jakbym chciał sprawdzić, czy
zamówienie zostało opłacone - tak abym mógł zmienić w bazie odpowiednią kolumnę i przekazać zamówienie dalej?

2) Jakbym chciał opłacić parę zamówień na raz (np. zamID = 123, zamID = 512, zamID = 992) to jak to tego podejść?
Chodzi mi o przekazanie identyfikatora zamówienia i późniejsze wykonanie zmiany statusu (czyli to co wskazałem w pkt #1)

Pzdr.

#5 mruz

mruz

    Początkujący

  • Użytkownik
  • Pip
  • 26 postów

Napisano 30 sierpień 2012 - 11:35

Jeśli zamówienie ulegnie zmianie to np. dotpay przesyła dane w _POST, musisz tylko je odebrać, zapisać i wyświetlić im OK.


public function action_status()
{
    $this->auto_render = FALSE;

    $status = Payment::instance()->update_status();

    if ($status !== FALSE)
    {
        $payment = ORM::factory('payment')->where('control','=',Arr::get($_POST, 'control'))->find();
        if ($payment->loaded())
        {
            $amount = NULL;
            switch ($status)
            {
                case 1:
                    $desc = __('NEW');
                    break;
                case 2:
                    $amount = $payment->amount_request;
                    $desc= __('SUCCESS');
                    break;
                case 3:
                    $desc = __('REFUSAL');
                    break;
                case 4:
                    $desc = __('CANCEL/RETURN');
                    break;
                case 5:
                    $desc = __('RECLAMATION');
                    break;
                default:
                    $desc = __('NO STATE');
                    break;
            }

            $payment->description = $desc;
            $payment->amount = $amount;
            $payment->data = json_encode($_POST);
            $payment->save();

            $this->response->body('OK');
        }
    }
    else
    {
        $this->response->body('FAIL');
    }
}


PS.
Statusy dla dotpay, dla płatnosci.pl mogą być inne.

#6 Daredzik

Daredzik

    Młodszy Mastah

  • Użytkownik
  • PipPip
  • 308 postów
  • Skąd:Pszczyna

Napisano 09 styczeń 2013 - 13:37

Witam,
mam taką malutką prośbę, czy ktoś mógłby przedstawić którego modułu używa do obsługi płatności... i w ogóle jak się za to zabrać ?
jak obsłużyć zapytania itd.
Tak chodzi mi o mały tutorial...
byłym naprawdę wdzięczny !


#7 kevin

kevin

    Młodszy Mastah

  • Użytkownik
  • PipPip
  • 207 postów

Napisano 09 styczeń 2013 - 18:29

Używam systemu płatności.pl i mogę Ci udostępnić akcje "report" z kontrolera platnosci - w tej funkcji dzieje się cały mechanizm, cały mózg integracji z Twoim sklepem a serwisem płatności.pl. W tej właśnie akcji wykrywasz status płatności. Nie udostępniam Ci natomiast akcji typu "success" lub "error" - ponieważ nie ma sensu - na tej podstronie nie wykonujesz żadnych zapytań związanych z aktualizacją statusu zamówienie (tj: aktualizacja że zamówienie niby opłacone) - na tej podstronie success/error umieszczasz zwykły tekst lub co tam wolisz - byle, nie aktualizacje statusu płatności! :-)

Czytaj komentarze, które umieściłem w kodzie. Większość mojego kodu usunąłem - zostawiłem tylko istotne informacje dot. integracji.
	public function action_report()
	{
		$data = array(
			'pos_id' 		=> Helper_Configuration::get('PLATNOSCI_POS_ID'), // twój identyfikator POS_ID z platnosci.pl
			'session_id' 	=> Arr::get($_POST, 'session_id'),
			'ts' 			=> Arr::get($_POST, 'ts'),
			'key1' 			=> Helper_Configuration::get('PLATNOSCI_KEY1'), // twój identyfikator md5 (KEY#1) z płatności.pl
		);

		$data['sig'] = md5(implode('', array_values($data)));
		
		// disable layout
		$this->auto_render = FALSE;
		$url = 'https://www.platnosci.pl/paygw/UTF/Payment/get/xml';
		
		// KLASA "Remote" ZOSTAŁA USUNIĘTA CAŁKOWICIE Z KOHANA >= 3.2 (nie wiem jak niżej)
		// NIŻEJ W POŚCIE UDOSTĘPNIAM CI JEJ TREŚĆ
		$response = Remote::get($url, array(
			CURLOPT_POST => TRUE,
			CURLOPT_POSTFIELDS => http_build_query($data),
			CURLOPT_SSL_VERIFYPEER	=>	FALSE,
		));

		$xml 	 = new SimpleXMLElement($response);
		$pending = array(1,4,5); // 1-nowa, 4-rozpoczęta, 5-oczekuje na odbiór
		$success = array(99); // płatność zaakceptowana
		$fail 	 = array(2,3,7,888); // 2-anulowana, 3-odrzucona, 7-płatność odrzucona, 888-bledny status, prosimy o kontakt

		if (in_array((int)$xml->trans->status, $pending))
		{
			$order_ids = Arr::map('UTF8::trim', explode(',', $xml->trans->order_id));
			if ( sizeof($order_ids) )
			{
					// PŁATNOŚĆ JEST W TOKU
					// CZYLI W TRAKCIE REALIZACJI
					
					// U MNIE W SERWISIE MOŻNA OPŁACIĆ KILKA ZAMÓWIEŃ NA RAZ
					// STĄD rozbijam $order_ids na parę identyfikatorów zamówień
			}	
		}
		else if (in_array((int)$xml->trans->status, $success))
		{
			$order_ids = Arr::map('UTF8::trim', explode(',', $xml->trans->order_id));
			if ( sizeof($order_ids) )
			{
				// PŁATNOŚĆ SIĘ UDAŁA
				// NA PODSTAWIE $order_ids aktualizujesz status 
				// zamówienia na "OPŁACONY"
				
				// i ewentualnie dla użytkownika dodajesz mu obrót
				// czylli np. update users set obrot = obrot + $row_zamowienie['cena_brutto'] where user_id = $row_zamowienie['user_id'];
			}
		}
		else if (in_array((int)$xml->trans->status, $fail))
		{
			// PŁATNOŚC SIĘ NIE UDAŁA
			// PROBLEMY TECHNICZNE PŁATNOŚCI CZY COŚ..
		}
		else
			die('inny blad numer: '. $xml->error->nr .' komunikat: '. $xml->error->message);
	}

W w/w kodzie zastosowałem klasę "Remote" - ona była dostępna w kohanie jako standard - ale wraz z aktualizacja została usunięta.
Dlatego niżej przedstawiam Ci jej treść:
LINK: http://wklej.org/hash/8f9d8855d93/

Jeśli takiej odpowiedzi się spodziewałeś to daj znać - omówię jeszcze na szybko stronę gdzie wyliczamy SIG, ogólnie podstronę PRZED samym etapem płatności

#8 phpion

phpion

    Senior Mastah

  • Użytkownik
  • PipPipPip
  • 774 postów
  • Skąd:Sosnowiec, Dąbrowa Górnicza

Napisano 10 styczeń 2013 - 11:31

Że tak spytam: czy przypadkiem w odpowiedzi nie powinno się zawsze zwracać "OK"? Z tego co pamiętam PayU wymaga właśnie takiego komunikatu po odbiorze informacji o statusie płatności bez względu na to czy się powiodła czy nie. W Twoim kodzie tego nie ma, a nawet pojawia się inny komunikat (die()) czyli wydaje mi się, że PayU będzie ponawiało wysyłkę statusu płatności do skutku, czyli do momentu odpowiedzi "OK" (której nigdy nie otrzyma).
Notifero - Technologie Informatyczne | Warsztat: Kohana 3.x/2.x + PostgreSQL/MySQL | Programista Kohana

#9 mck

mck

    Jestę Blogerę

  • Admin
  • 1544 postów

Napisano 10 styczeń 2013 - 12:03

Dokładnie tak, "aplikacja Sklepu MUSI w odpowiedzi wysłać ciąg znaków „OK”, w przypadku otrzymania innej odpowiedzi zostanie ona zapisana w bazie i powiadomienie będzie uznane jako nieodebrane" (doku).

#10 lukaskolista

lukaskolista

    Młodszy Mastah

  • Użytkownik
  • PipPip
  • 414 postów

Napisano 10 styczeń 2013 - 13:29

Dodam jeszcze, ze w przypadku innej odpowiedzi, niz "OK" platnosc "wisi" i jezeli nie odbierze sie jej w panelu do zarzadzania kontem payu lub pod adresem przeznaczonym do komunikacji, to pieniadze sa zwracane do uzytkownika automatycznie po 7 dniach od rozpoczecia platnosci.

Z reszta co tu duzo pisac: w dokumentacji wszystko jest.

#11 kevin

kevin

    Młodszy Mastah

  • Użytkownik
  • PipPip
  • 207 postów

Napisano 12 styczeń 2013 - 10:20

Dzięki za informacje, faktycznie w moim kodzie brakowało tego ważnego kodu. Dobrze, że opublikowałem fragmenty kodu i na podstawie tych fragmentów byliście mi w stanie pomóc - dziękuje.

#12 Daredzik

Daredzik

    Młodszy Mastah

  • Użytkownik
  • PipPip
  • 308 postów
  • Skąd:Pszczyna

Napisano 12 styczeń 2013 - 11:48

dzięki wielkie już mam jakiś punkt zaczepienia ;)
jak czegoś nie będę wiedział to oczywiście zapytam jak zawsze :P znowu się ze mnie pośmiejecie :P

#13 Zenek N

Zenek N

    Początkujący

  • Użytkownik
  • Pip
  • 61 postów

Napisano 12 styczeń 2013 - 14:19

a tak poza tym:

https://github.com/PayU/

#14 retio

retio

    Początkujący

  • Użytkownik
  • Pip
  • 21 postów
  • Skąd:Gdańsk

Napisano 23 maj 2013 - 21:45

Były cms'y - teraz czas na skromniejszą, ale ważną listę - płatności:

https://github.com/retio/kohana-dotpay (dotpay.pl)
https://github.com/z...ana-przelewy24  (przelewy24.pl)
https://github.com/LKay/kohana-payment (platnosci.pl, dotpay.pl)


Dodam jeszcze transferuj.pl: https://github.com/r...hana-transferuj Dotpay z doświadczenia odradzam :) Miałem nieprzyjemność i straciłem środki z konta.

#15 kevin

kevin

    Młodszy Mastah

  • Użytkownik
  • PipPip
  • 207 postów

Napisano 24 czerwiec 2013 - 17:28

Walczył ktoś z integracją paypala? Istnieje gotowy moduł pod kohane, tak abym mógł na nim bazować?

#16 Riu

Riu

    Senior Mastah

  • Webmastahy
  • PipPipPip
  • 949 postów

Napisano 24 czerwiec 2013 - 20:39

https://github.com/Hete/kohana-paypal
https://github.com/r...kohana-3-paypal
https://github.com/p...hana-paypal-ipn

Gleez ma też zintegrowane, ale nie przeglądałem tego - http://crm.gleez.org/guide/api/Paypal

Debian/Ubuntu + Kohana/Hanariu/Phalcon + MongoDB/MySQL + HTML5/CSS3 + Node.js/jQuery + CEO Sport Magazyn/CEO Hanariu


#17 qbas-s

qbas-s

    Początkujący

  • Użytkownik
  • Pip
  • 80 postów

Napisano 15 maj 2014 - 16:45

Odświeżam temat, posiada ktoś działające moduły płatności payu i paypal do kohana 3.3 ?


Kohana 3.3




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych