Hello again all. I have a situation here where I need my pay-pal buy now buttons to be stored in the DB to be pulled and displayed whenever I want.

Now they are stored in the DB fine and all the code is PERFECT in the DB.

I try to call it out normally, replacing the "s with 's, using nl2br() and everytime it is clicked PayPal tells me that there was an error decrypting the code.

I view the source and it looks just like paypay made the code.

When I dont pull it from the DB and display it normally then everything is fine.

Anyone ever have to encouter this before? Anyone got any idea on how to resolve this...even though it is a PHP/Pay-Pal question...not just PHP. 🙂

Thanks in advance if you can help!

    I tried putting the paypal example buy now button in a db and then displayed it. The button worked correctly.

    I try to call it out normally, replacing the "s with 's, using nl2br() and everytime it is clicked PayPal tells me that there was an error decrypting the code.

    Doesnt nl2br() just insert line breaks?

      Did you use an encrypted button?

      If so, how did you display it?

      Yes, nl2br() just inserts line breaks, but I was desperate. 🙂

        Originally posted by Kudose
        Did you use an encrypted button?

        If so, how did you display it?

        I used the example code from paypal.com:

         <form name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" method="post">
        <input type="hidden" name="cmd" value="_xclick">
        <input type="hidden" name="business" value="me@mybusiness.com">
        <input type="hidden" name="currency_code" value="USD">
        <input type="hidden" name="item_name" value="Teddy Bear">
        <input type="hidden" name="amount" value="12.99">
        <input type="image" src="http://www.paypal.com/en_US/i/btn/x-click-but01.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
        </form>
        <?
        
          /////// GET AND DISPALY BUTTON ///////
        $sql = "SELECT * FROM `buttons` LIMIT 1";
        $result = mysql_query($sql);
        
        while ($row = mysql_fetch_array($result))
          {
          $button = $row['button'];
          echo "$button";
          } 
        ?>

        Did I misunderstand your problem?

          No, I didnt explain it well enough. The probelm is encrypted buttons.

          Unencrypted work fine.

          This is stupid question since I am a programmer too, but how easy would it be for someone to "hack" an unencrypted button and steal the item?

            Originally posted by Kudose
            No, I didnt explain it well enough. The probelm is encrypted buttons.

            Unencrypted work fine.

            I dont know what you mean by "encrypted buttons"! 😕

            Originally posted by Kudose

            This is stupid question since I am a programmer too, but how easy would it be for someone to "hack" an unencrypted button and steal the item?

            Why would any want to hack your paypal button? The button only holds your product information. I'm not sure how paypal works but I would expect there example code is safe.

              On the PayPal Merchant Tools where you create the button, it defaults to being encrypted.
              Looks like this:

              <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
              <input type="hidden" name="cmd" value="_s-xclick">
              <input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but23.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
              <input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----MIIHiAYJKoZIhvcNAQcEoIIHeTCCB3UCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYAQR7H69bXnaN6EP3vWcKbXCd5EIJnWDFCl5r2D2xdFoQkLwNTpU71fXmVo1ZirHELBk87dYehLI8j8hgwyfaYvwMIDYLcDBoXL6A2PG1gEKHj5bBO4KV1Y8gKyoDVqFWEcrTjVDU2OpQsl+oKUK14U9lz6xTEhynh3pNCMcSuQhzELMAkGBSsOAwIaBQAwggEEBgkqhkiG9w0BBwEwFAYIKoZIhvcNAwcECIZ9t7LcoEJQgIHgiga4AgF0ZJm0y9CDc22aMaqGdhZSqhNh0eo/wre4syFxPhgBs9Gx0emynlBTQtycDZf1U+cvJg2+Q+ac647ztCBSw+Ovt4m4wgg/WE2tspSbhRWv5QgOAU4HGU9Irgiy5QXM5fnpI6/Zr69UF+VCQ+rS1yodxjCzLyxiYj+qnn8pGwOBMAqNI4cEUhY9lUhPMoSw3Ri4xHj1aaz95TQVXKD+BOSDjfZu+R29AMh4xgDokThZKen+rW9nBwLy7e6rYnzikiP0EiIxxdfppHi8dfqgXY5vJZeAnSJkW9KndmCgggOHMIIDgzCCAuygAwIBAgIBADANBgkqhkiG9w0BAQUFADCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20wHhcNMDQwMjEzMTAxMzE1WhcNMzUwMjEzMTAxMzE1WjCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMFHTt38RMxLXJyO2SmS+Ndl72T7oKJ4u4uw+6awntALWh03PewmIJuzbALScsTS4sZoS1fKciBGoh11gIfHzylvkdNe/hJl66/RGqrj5rFb08sAABNTzDTiqqNpJeBsYs/c2aiGozptX2RlnBktH+SUNpAajW724Nv2Wvhif6sFAgMBAAGjge4wgeswHQYDVR0OBBYEFJaffLvGbxe9WT9S1wob7BDWZJRrMIG7BgNVHSMEgbMwgbCAFJaffLvGbxe9WT9S1wob7BDWZJRroYGUpIGRMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbYIBADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAIFfOlaagFrl71+jq6OKidbWFSE+Q4FqROvdgIONth+8kSK//Y/4ihuE4Ymvzn5ceE3S/iBSQQMjyvb+s2TWbQYDwcp129OPIbD9epdr4tJOUNiSojw7BHwYRiPh58S1xGlFgHFXwrEBb3dgNbMUa+u4qectsMAXpVHnD9wIyfmHMYIBmjCCAZYCAQEwgZQwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tAgEAMAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wNDA2MzAxMTIzMzVaMCMGCSqGSIb3DQEJBDEWBBQGcZtswkxGKFkPaQtDV4YkPFYDXDANBgkqhkiG9w0BAQEFAASBgFGjRNo8dUzt9PrEXRzGJY2ByIyAwz9j8FRSZMlE4KLzc1oYy8QWkEK9/bRUr1KdcfGDlqNiHeNHdn9QjDIp2R+dM6t8Yo/4tpY7QffTXrLen5JzKG3xYBgiRTG72TicxGkzJF3U9tPY/Ri7CwmJjUdpQdnYSJ8kqI36Mx0PZL25-----END PKCS7-----
              ">
              </form>

              The un-encrypted button holds the store information, product, and how much to charge. I just dont wanna get ripped off ya know?

              Thanks for your assistance thus far.

                I see what you mean now. Very strange! surely it should output exactly what is in the DB.

                Sorry I carnt be of more assitance.:bemused:

                  put everything in your DB but make sure u change out all " with &quot; If you dont it will not go into your variable.

                  form action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
                  <input type="hidden" name="cmd" value="_s-xclick"> 
                  <input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but23.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!"> 
                  <input type="hidden" name="encrypted" value="-----BEGIN PKCS7----- MIIHiAYJKoZIhvcNAQcEoIIHeTCCB3UCAQExggEwMIIBLAIBAD
                  CBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYD
                  VQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW
                  5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2
                  ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQ
                  AwDQYJKoZIhvcNAQEBBQAEgYAQR7H69bXnaN6EP3vWcKbXCd5E
                  IJnWDFCl5r2D2xdFoQkLwNTpU71fXmVo1ZirHELBk87dYehLI8
                  j8hgwyfaYvwMIDYLcDBoXL6A2PG1gEKHj5bBO4KV1Y8gKyoDVq
                  FWEcrTjVDU2OpQsl+oKUK14U9lz6xTEhynh3pNCMcSuQhzELMA
                  kGBSsOAwIaBQAwggEEBgkqhkiG9w0BBwEwFAYIKoZIhvcNAwcE
                  CIZ9t7LcoEJQgIHgiga4AgF0ZJm0y9CDc22aMaqGdhZSqhNh0e
                  o/ wre4syFxPhgBs9Gx0emynlBTQtycDZf1U+cvJg2+Q+ac647ztC
                  BSw+Ovt4m4wgg/WE2tspSbhRWv5QgOAU4HGU9Irgiy5QXM5fnpI6/ Zr69UF+VCQ+rS1yodxjCzLyxiYj+qnn8pGwOBMAqNI4cEUhY9l
                  UhPMoSw3Ri4xHj1aaz95TQVXKD+BOSDjfZu+R29AMh4xgDokTh
                  ZKen+rW9nBwLy7e6rYnzikiP0EiIxxdfppHi8dfqgXY5vJZeAn
                  SJkW9KndmCgggOHMIIDgzCCAuygAwIBAgIBADANBgkqhkiG9w0
                  BAQUFADCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwF
                  AYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWw
                  gSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIb
                  Gl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20
                  wHhcNMDQwMjEzMTAxMzE1WhcNMzUwMjEzMTAxMzE1WjCBjjELM
                  AkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3V
                  udGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA
                  1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDA
                  aBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20wgZ8wDQYJKoZIh
                  vcNAQEBBQADgY0AMIGJAoGBAMFHTt38RMxLXJyO2SmS+Ndl72T
                  7oKJ4u4uw+6awntALWh03PewmIJuzbALScsTS4sZoS1fKciBGo
                  h11gIfHzylvkdNe/hJl66/RGqrj5rFb08sAABNTzDTiqqNpJeBsYs/ c2aiGozptX2RlnBktH+SUNpAajW724Nv2Wvhif6sFAgMBAAGjg
                  e4wgeswHQYDVR0OBBYEFJaffLvGbxe9WT9S1wob7BDWZJRrMIG
                  7BgNVHSMEgbMwgbCAFJaffLvGbxe9WT9S1wob7BDWZJRroYGUp
                  IGRMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgN
                  VBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJb
                  mMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZ
                  lX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbYIBA
                  DAMBgNVHRMEBTADAQH/ MA0GCSqGSIb3DQEBBQUAA4GBAIFfOlaagFrl71+jq6OKidbWFS
                  E+Q4FqROvdgIONth+8kSK//Y/4ihuE4Ymvzn5ceE3S/ iBSQQMjyvb+s2TWbQYDwcp129OPIbD9epdr4tJOUNiSojw7BHw
                  YRiPh58S1xGlFgHFXwrEBb3dgNbMUa+u4qectsMAXpVHnD9wIy
                  fmHMYIBmjCCAZYCAQEwgZQwgY4xCzAJBgNVBAYTAlVTMQswCQY
                  DVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA
                  1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHM
                  xETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZ
                  UBwYXlwYWwuY29tAgEAMAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0
                  BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wNDA2M
                  zAxMTIzMzVaMCMGCSqGSIb3DQEJBDEWBBQGcZtswkxGKFkPaQt
                  DV4YkPFYDXDANBgkqhkiG9w0BAQEFAASBgFGjRNo8dUzt9PrEX
                  RzGJY2ByIyAwz9j8FRSZMlE4KLzc1oYy8QWkEK9/bRUr1KdcfGDlqNiHeNHdn9QjDIp2R+dM6t8Yo/4tpY7QffTXrLen5JzKG3xYBgiRTG72TicxGkzJF3U9tPY/Ri7CwmJjUdpQdnYSJ8kqI36Mx0PZL25-----END PKCS7----- 
                  "> 
                  </form> 
                  
                  

                  grab that field of row the row u put it in. stick it into a variable if it fits. (its tooo early) Then echo it out where u want it in your body tags.

                  <?php echo $buttoncode; ?>

                  This should work>? Or have I mixed up something and have posted one of those useless posts........ 😕

                    That's the way I have been doing it, as well as many different other ways. It doesn't work. I am waiting for a reply from Pay-Pal staff as well, when I get a response I will put it here for furture reference to others.

                    Anyone else have any ideas?

                    Thank you all very much for the assistance thus far.

                      can you post what it does output in your source instead of what its supposed to output?

                        The problem ended up being that the database did not accept the line breaks in the code and output them as one long string.

                        Here is an email explaing I got from Pay-Pal.

                        Here is a shorted example of what the currently encrypted button looks
                        like:

                        <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_s-xclick"> <input type="image"
                        src="https://www.paypal.com/en_US/i/btn/x-click-but23.gif" border="0"
                        name="submit" alt="Make payments with PayPal - it's fast, free and
                        secure!">
                        <input type="hidden" name="encrypted" value="-----BEGIN PKCS7----- MIIG7QYJKoZIhvcNAQcEoIIG3jCCBtoCAQExggEwMIIBLAIBADCBlDCBjjELMAkG
                        A1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQw
                        EgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UE
                        AxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJ
                        KoZIhvcNAQEBBQAEgYCt/r7B4ZYu+6k/O1uxiHhcvrOuilRLMv4g2S2l/l2Hqn9C
                        MfM3TzETEn8et/LCRcTyEEJuAhMC4/RWtQz/WVbRBQbNAEO7+Ac4vtPWPMn+Q4Aa
                        dE6Yfyt68JyoF2T3ieqHkBg+LGAwqDLhmhmyKu5XQnfPD8wzOpH1gqvSmtXGTTEL
                        MAkGBSsOAwIaBQAwawYJKoZIhvcNAQcBMBQGCCqGSIb3DQMHBAjrG/6Muh8oQIBI
                        <!--Example Truncated-->
                        8A==
                        -----END PKCS7-----
                        ">
                        </form>

                        Notice how the code is formatted in individual lines instead of one
                        continuous string. To change the code to be one continuous string,
                        simply place your cursor at the end of each line and hit the delete
                        key on your keyboard. Be VERY careful not to delete any of the
                        characters in the string. The example below shows what the code
                        should look like half way through the process:

                        <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_s-xclick"> <input type="image"
                        src="https://www.paypal.com/en_US/i/btn/x-click-but23.gif" border="0"
                        name="submit" alt="Make payments with PayPal - it's fast, free and
                        secure!">
                        <input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----

                        MIIG7QYJKoZIhvcNAQcEoIIG3jCCBtoCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVM

                        xCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW

                        5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BC

                        QEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYCt/r7B4ZYu+6k/O1uxiHhcvrOu
                        ilRLMv4g2S2l/l2Hqn9C MfM3TzETEn8et/LCRcTyEEJuAhMC4/RWtQz/WVbRBQbNAEO7+Ac4vtPWPMn+Q4Aa
                        dE6Yfyt68JyoF2T3ieqHkBg+LGAwqDLhmhmyKu5XQnfPD8wzOpH1gqvSmtXGTTEL
                        MAkGBSsOAwIaBQAwawYJKoZIhvcNAQcBMBQGCCqGSIb3DQMHBAjrG/6Muh8oQIBI
                        <!--Example Truncated-->
                        8A==
                        -----END PKCS7-----
                        ">
                        </form>

                        Here is how the code should look after each break in the code has been
                        removed:

                        <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_s-xclick"> <input type="image"
                        src="https://www.paypal.com/en_US/i/btn/x-click-but23.gif" border="0"
                        name="submit" alt="Make payments with PayPal - it's fast, free and
                        secure!">
                        <input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----

                        MIIG7QYJKoZIhvcNAQcEoIIG3jCCBtoCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVM

                        xCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW

                        5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BC

                        QEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYCt/r7B4ZYu+6k/O1uxiHhcvrOu

                        ilRLMv4g2S2l/l2Hqn9CMfM3TzETEn8et/LCRcTyEEJuAhMC4/RWtQz/WVbRBQbNAEO7+Ac4vtP

                        WPMn+Q4AadE6Yfyt68JyoF2T3ieqHkBg+LGAwqDLhmhmyKu5XQnfPD8wzOpH1gqvSmtXGTTE
                        WPMn+Q4AadE6Yfyt68JyoF2T3ieqHkBg+LMA

                        kGBSsOAwIaBQAwawYJKoZIhvcNAQcBMBQGCCqGSIb3DQMHBAjrG/6Muh8oQIBI<!-Example

                        Truncated-->8A==-----END PKCS7-----">
                        </form>

                        If you delete any part of the code when attempting to remove all of
                        line breaks, you will need to create a new payment button to replace
                        it. The button will not function if it is not complete.

                        If you are still having an issue after the line breaks have been
                        removed, I would suggest trying an unencrypted button to see if the
                        error persists. To create an unencrypted button, simply select "No"
                        when asked in the button factory if you would like your button to be
                        encrypted.

                          Write a Reply...