My epic struggle with Dolphin 7 Payment Module

Hello Dolphin Community members!

Over the last month, I have been struggling to finalize my Payment Module configuration.

Here is a breakdown of my Payment Module settings...

  • Active: (checked)
  • Mode: test
  • Business: info@divinedates.net
  • Processtype: PDT
  • Connection Type: HTML
  • Identity Token: The same one on the PayPal account.
  • Sandbox: (my email address)

 and my PayPal settings....

  • Auto Return: on
  • Return URL: The url that is in Payment Module settings
  • Payment Data Transfer: On

 

I am testing purchasing a membership, it works fine and dandy and the payment goes through with a sandbox account/membership becomes purchased on Dolphin's end. However, on successful "return" from Paypal, I receive a Payment Result: NO DATA GIVEN.

Do you think this has to deal with the '0' at the end of the return URL?

I will buy a beer/coffee if anyone has any information on how to have this page actually display relevant data to the Paypal transaction. 

 

Thanks in advance and I have attached a kitty.

 

Quote · 30 May 2012

Bump. Would anyone suggest making a phone call to the Boonex devs?

Quote · 30 May 2012

I need coffe lols...

 

By the gathered info If you are receiving 'No Data Given' then you need to check the selected 'Process type' in Dolphin's Payment module and also check in which mode your PayPal is working.


Need to check your PayPal setting and make them match to Dolphin. Some one use Process type: IPN and Connection type: SSL in Dolphin and it works fine

Quote · 30 May 2012

I made a video tutorial on this at:

http://bit.ly/ydlzON

There are other videos as well.

 

 

Updating my BoonexNerd.net site.
Quote · 30 May 2012

Thanks jtadeo, but I am looking for a way to display transaction data to the user for confirmation purposes.

Your video helped me understand it a little more thought, thanks.

 

Bump.

 

I made a video tutorial on this at:

http://bit.ly/ydlzON

There are other videos as well.

 

 

 

Quote · 30 May 2012

Try this one:

http://bit.ly/yp714T

It shows you on how to add a "Thank You" page.

If you know how to capture the name/value pairs from PayPal, you can use a PHP block to capture the data and pull more information. You can also use the member id to match up what exactly they purchased.

Updating my BoonexNerd.net site.
Quote · 31 May 2012

Thanks James! I appreciate the hard work you put in towards this community.

Link me to where I can donate to buy you a beer/coffee?

Just curious, do you make a livable income from boonexnerd, or is it just a side thing?

Quote · 31 May 2012

 

Thanks James! I appreciate the hard work you put in towards this community.

Link me to where I can donate to buy you a beer/coffee?

Just curious, do you make a livable income from boonexnerd, or is it just a side thing?

 You're welcome. There is a donate button on the front page of my nerd site at:

http://www.boonexnerd.net/dolphin-7/

As for the boonexnerd, it was a site a built back in 2007 so I could document the things I've learned and also to share. The tutorials were as much for me as others who might want to use them. I've got a bunch of tutorials that I am cleaning up and will post when I have more time.

Updating my BoonexNerd.net site.
Quote · 31 May 2012

So, since my orders are not being processed, I manually go in and adjust their membership level.

However, I noticed a process button, does this upgrade their account?

What does this process button do?

Peer

whatdoestheprocessbuttondo.png · 199.2K · 534 views
Peer L. Plaut Executive Director, Single Booklovers Connecting Bookworms Since 1970
Quote · 3 Dec 2013

 

does this upgrade their account?

 I suppose it does.

so much to do....
Quote · 3 Dec 2013

My understanding was that if you received payment but for some reason the payment was not finalised in Dolphin that you could use that button to finish processing the payment and apply the membership upgrade or shop purchase.

I have had some that cancel the payment but it was not removed from Dolphin's list.  When I saw them I contacted the member for clarification in case it was a site error.  Those had to be removed manually.  So one must check to know why the entry is there.

Geeks, making the world a better place
Quote · 3 Dec 2013

Mine was there because the payments were not being processed properly?

Remember my user who was deleted when he attempted to check out with Paypal?

jtaedo's video shed much needed light on the situation... I tried to send him a contribution for his efforts, but his web site was down... 

You can't sell if the door is broke...  :)

P.

Peer L. Plaut Executive Director, Single Booklovers Connecting Bookworms Since 1970
Quote · 3 Dec 2013

Hello,
here is a feedback for paypal Direct payment with D7.3 not tested with PDT nor IPN mode but that should work too with modifications.
You have to modify some files in order to make it work (protocol HTTP1.1 for paypal).
In \modules\boonex\payment\classes\BxPmtPayPal.php because of the used version of HTTP for communicating through the socket:
    function _readValidationData($sConnectionUrl, $sRequest)
    {
        $iErrCode = 0;
        $sErrMessage = "";
        if($this->getOption('cnt_type') == PP_CNT_TYPE_SSL)
            $rSocket = fsockopen("ssl://" . $sConnectionUrl, 443, $iErrCode, $sErrMessage, 60);
        else
            $rSocket = fsockopen("tcp://" . $sConnectionUrl, 80, $iErrCode, $sErrMessage, 60);
      
        // Is connexion ok ?
        if(!$rSocket)
            return array('code' => 2, 'message' => 'Can\'t connect to remote host for validation (' . $sErrMessage . ')');
      
        // Else put message on socket with paypal server
        fputs($rSocket, "POST /cgi-bin/webscr HTTP/1.1\r\n"); // Protocol HTTP/1.1 and "\r\n\r\n" as separator
        fputs($rSocket, "Host: $sConnectionUrl\r\n");
        fputs($rSocket, "Content-type: application/x-www-form-urlencoded\r\n");
        fputs($rSocket, "Content-length: " . strlen($sRequest) . "\r\n");
        fputs($rSocket, "Connection: close\r\n\r\n");
        fputs($rSocket, $sRequest . "\r\n\r\n");  
      
        // wait for response from Paypal
        $sResponse = '';
        while(!feof($rSocket))
            $sResponse .= fread($rSocket, 1024);
        fclose($rSocket);

        list($sResponseHeader, $sResponseContent) = explode("\r\n\r\n", $sResponse);

        return array('code' => 0, 'content' => explode("\n", $sResponseContent));
    }
Moreover, "content" field is badly tested in     function _validateCheckout(&$aData):
--> change $aResponse['content'][1] in place of $aResponse['content'][0]

            if(strcmp($aResponse['content'][1], "INVALID") == 0)
                return array('code' => -1, 'message' => _t('_payment_pp_err_wrong_transaction'));
            else if(strcmp($aResponse['content'][1], "VERIFIED") != 0)
                return array('code' => 2, 'message' => _t('_payment_pp_err_wrong_verification_status'));
Be aware that  the dateExpires field can block the cart update in inc\membership_levels.inc.php
function setMembership
...
Modify following your needs...
...
Hope it helps as I lost many hours on this :)

Quote · 8 Jun 2016
 
 
Below is the legacy version of the Boonex site, maintained for Dolphin.Pro 7.x support.
The new Dolphin solution is powered by UNA Community Management System.