Skocz do zawartości
e-CDD.pl

Polskie moduły płatności do BoxBilling i problem z Tpay.com

Polecane posty

Witajcie,

postanowiłem stworzyć nowy temat dot. modułów polskich płatności do BoxBilling. Pytałem o to w temacie dot. spolszczenia BB, ale uznałem, że lepiej będzie porozmawiać o tym w nowym wątku.

 

A więc, mam taki oto moduł do płatności tpay.com (dawniej Transferuj.pl):

<?php
class Payment_Adapter_Transferuj extends Payment_AdapterAbstract
{
 
private $config = array();
    
    public function __construct($config)
    {
        $this->config = $config;
    }
 
    public function init()
    {
        if(!$this->getParam('id_sprzedawcy')) {
            throw new Payment_Exception('Transferuj.pl nie jest skonfigurowane, zrób to teraz "Configuration -> Payments".');
        }
        
        if (!$this->getParam('jezyk')) {
         throw new Payment_Exception('Transferuj.pl nie jest skonfigurowane, zrób to teraz "Configuration -> Payments".');
        }
    }
    
    public static function getConfig()
    {
        return array(
            'supports_one_time_payments'   =>  true,
            'supports_subscriptions'     =>  true,
            'description'     =>  'Clients will be redirected to Transferuj.pl to make payment.',
            'form'  => array(
                'id_sprzedawcy' => array('text', array(
                            'label' => 'Transferuj.pl Id Sprzedawcy', 
                            'description' => 'Transferuj.pl id sprzedawcy', 
                            'validators'=>array('notempty'),
                    ),
                 ),
                 'jezyk' => array('text', array(
                  'label' => 'Jezyk',
                  'description' => 'Język płatności',
                  'validators' => array('notempty'),
                  ),
                 ),
            ),
        );
    }
    
    /**
     * Return payment gateway type
     * @return string
     */
 
 public function getHtml($api_admin, $invoice_id, $subscription) {
$invoice = $api_admin->invoice_get(array('id'=>$invoice_id));
 
$vars = array(
'id'  =>  $this->config['id_sprzedawcy'],
'kwota' => $invoice['total'],
'opis' =>  $invoice['serie_nr'],
/*'crc' =>  'BoxBilling',*/
'wyn_url' => $this->config['notify_url'],
'wyn_email' => $buyer['email'],
'opis_sprzed' =>  $invoice['nr'],
'pow_url' => $this->config['return_url'],
'pow_url_blad' =>  $this->config['return_url'],
'email' =>  $invoice['buyer']['email'],
'transaction_id' => $invoice['nr'],
'pow_url' => $this->config['return_url'],
'cancel_url' => $this->config['cancel_url'],
'imie' => $invoice['buyer']['first_name'],
'nazwisko' => $invoice['buyer']['last_name'],
'adres' => $invoice['buyer']['address'],
'telefon' => $invoice['buyer']['phone'],
'miasto' => $invoice['buyer']['city'],
'kod' => $invoice['buyer']['zip'],
'kraj' => $invoice['buyer']['country'],
'jezyk' => $this->config['jezyk'],
);
 
 $html = '
            <form action="'.$this->getServiceUrl().'" method=POST>
                ';
 
foreach($params as $key => $value) {
$html .='<input type=hidden name="'.$key.'"  value="'.$value.'">
';
}
 
$html .='
                
    
 
                <table>   
                  <tfoot>
                    <tr>
                        <td colspan=2>
                            <input type=SUBMIT value="'.__('Pay now').'" name=SUBMIT class="bb-button bb-button-submit bb-button-big">
                        </td>
                    </tr>
                    </tfoot>
                </table>
            </form>
        ';
        
        return $html;
}
 
 
    /**
     * Return payment gateway type
     * @return string
     */
    public function getServiceUrl()
    {
return 'https://secure.tpay.com';
    }
 
public function recurrentPayment(Payment_Invoice $invoice) {
// TODO Auto-generated method stub
 
}
 
public function isIpnValid($data, Payment_Invoice $invoice)
    {
return true; 
}
 
public function getTransaction($data, Payment_Invoice $invoice) 
{
    
$r = $_POST;
 
if($_SERVER['REMOTE_ADDR']=='195.149.229.109' && !empty($_POST)){
$id_sprzedawcy = $r['id'];
$status_transakcji = $r['tr_status'];
$id_transakcji = $r['tr_id'];
$kwota_transakcji = $r['tr_amount'];
$kwota_zaplacona = $r['tr_paid'];
$blad = $r['tr_error'];
$data_transakcji = $r['tr_date'];
$opis_transakcji = $r['tr_desc'];
$ciag_pomocniczy = $r['tr_crc'];
$email_klienta = $r['tr_email'];
$suma_kontrolna = $r['md5sum'];
// sprawdzenie stanu transakcji
if($status_transakcji=='TRUE' && $blad=='none'){
 
$tx = new Payment_Transaction();
        $tx->setId($r['tr_id']);
        $tx->setAmount($r['tr_amount']);
        $tx->setCurrency("PLN");
        $tx->setStatus(Payment_Transaction::STATUS_COMPLETE);
        $tx->setType(Payment_Transaction::TXTYPE_PAYMENT);
        return $tx;
 
}
else
{
// transakcja wykonana niepoprawnie
 
}
}
 
 
}
 
}

No i wszystko fajnie - podaję w panelu ID sprzedawcy, język itp., ale gdy chcę zapłacić otrzymuję taki błąd:

 

H3yTUJj.png

 

- z adresem "https://secure.transferuj.pl/error.php?tr=23"

 

Pytanie - co robię nie tak? Jakie parametry są przesyłane niepoprawnie? Będę wdzięczny za wszelką pomoc.

 

 

Oczywiście jeśli macie jakieś inne moduły płatności to piszcie ;).

Edytowano przez e-CDD.pl (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dobra, moduł napisany od nowa i teraz wszystko elegancko działa :).

 

Temat może zostać otwarty - jeśli ktoś coś to piszcie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dobra, moduł napisany od nowa i teraz wszystko elegancko działa :).

 

Temat może zostać otwarty - jeśli ktoś coś to piszcie.

Podzielisz się ze wszystkimi modułem?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Niestety, na razie nie chcę go udostępniać, bo wykorzystuję go do własnego projektu. Może w przyszłości wrzucę. Swoją drogą ten co wstawiłem można pokombinować i też będzie działał.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witamy serdecznie,

Zapraszam wszystkich użytkowników platformy BoxBilling do skorzystania z gotowej integracji przygotowanej przez tpay.com (dawne transferuj.pl).

Moduł można pobrać tutaj

Jeżeli nie posiadasz jeszcze konta sprzedawcy w naszym systemie, przetestuj moduł korzystając z danych:

ID 1010

Kod demo

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Witamy serdecznie,

Zapraszam wszystkich użytkowników platformy BoxBilling do skorzystania z gotowej integracji przygotowanej przez tpay.com (dawne transferuj.pl).

Moduł można pobrać tutaj

Jeżeli nie posiadasz jeszcze konta sprzedawcy w naszym systemie, przetestuj moduł korzystając z danych:

ID 1010

Kod demo

 

A czy planujecie zaktualizować moduł płatności dla blesta?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Sukcesywnie uaktualniamy wszystkie moduły, a ich kolejność jest zależna od popularności.

Moduł do blesta jest w planach ale wymaga całkowicie nowej integracji, gdyż ta platforma przeszła duże zmiany od ostatniego wydania wtyczki.

Przesłanie zgłoszenia technicznego przez naszą stronę na pewno przyśpieszy ten proces.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Ok. Ze względu na to że macie tyle modułów możliwe że wkrótce odezwę się do was w sprawie współpracy itp. Niestety warunkiem będzie ten moduł :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×