[WebDNA] Sage code: use curl instead of tcpconnect

This WebDNA talk-list message is from

2018


It keeps the original formatting.
numero = 114325
interpreted = N
texte = 1940 For anyone who needs it, this code creates POST data for my client's Sage credit card transactions: [text]sageContent=[!] [/!]M_ID=[ourSageID][!] [/!]&M_Key=[ourSageKey][!] [/!]&T_code=[ourTransactionCode][!] [/!]&T_orderNum=[ourOrderNumber][!] [/!]&T_amt=[sagePostAmt][!] [/!]&C_name=[sagePostName][!] [/!]&C_address=[sagePostAddress][!] [/!]&C_city=xxxx[!] [/!]&C_state=xx[!] [/!]&C_zip=[sagePostZip][!] [/!]&C_country=us[!] [/!]&C_email=bogus@bogus.com[!] [/!]&C_cardnumber=[sagePostCardNumber][!] [/!]&C_exp=[sagePostExp][!] [/!]&C_cvv=[sagePostCVV][!] [/!][/text] And this code was previously used to submit the above data to Sage from one of my client's WebDNA 8.5.1 servers before it broke on 06/25/2018 when Sage upgraded to TLS 1.2: [text]sageReply=[!] [/!][tcpconnect host=sagepayments.net&port=443&ssl=T][!] [/!][tcpsend skipheader=T]POST /cgi-bin/eftBankcard.dll[!] [/!]?transaction HTTP/1.0[n][!] [/!]Content-Type: application/x-www-form-urlencoded[n][!] [/!]Content-Length:[countchars][sageContent][/countchars][n][n][!] [/!][sageContent][n][!] [/!][/tcpsend][!] [/!][/tcpconnect][!] [/!][/text] So now I use this code which replaces the tcpconnect on my client's Ubuntu 16.04 server, and so far it works perfectly: [text]sageReply=[!] [/!][shell]curl -d "[sageContent]" --tlsv1.2 POST [!] [/!]https://sagepayments.net/cgi-bin/eftBankcard.dll[!] [/!]?transaction[/shell][!] [/!][/text] THEREFORE: If my use of "HTTP/1.0" is not causing the above tcpconnect to fail, then maybe tcpconnect simply does not work in WebDNA 8.5.1 and earlier when POSTing data to a server that requires TLS 1.2. The curl code is much simpler anyways. Curl uses the "x-www-form-urlencoded" content type by default, and there's no need to count characters in curl POST data or specify a HTTP version. :) Regards, Kenneth Grome WebDNA Solutions http://www.webdnasolutions.com Web Database Systems and Linux Server Administration --------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list talk@webdna.us To unsubscribe, E-mail to: talk-leave@webdna.us archives: http://www.webdna.us/page.dna?numero=55 Bug Reporting: support@webdna.us . Associated Messages, from the most recent to the oldest:

    
  1. [WebDNA] Sage code: use curl instead of tcpconnect (Kenneth Grome 2018)
1940 For anyone who needs it, this code creates POST data for my client's Sage credit card transactions: [text]sageContent=[!] [/!]M_ID=[ourSageID][!] [/!]&M_Key=[ourSageKey][!] [/!]&T_code=[ourTransactionCode][!] [/!]&T_orderNum=[ourOrderNumber][!] [/!]&T_amt=[sagePostAmt][!] [/!]&C_name=[sagePostName][!] [/!]&C_address=[sagePostAddress][!] [/!]&C_city=xxxx[!] [/!]&C_state=xx[!] [/!]&C_zip=[sagePostZip][!] [/!]&C_country=us[!] [/!]&C_email=bogus@bogus.com[!] [/!]&C_cardnumber=[sagePostCardNumber][!] [/!]&C_exp=[sagePostExp][!] [/!]&C_cvv=[sagePostCVV][!] [/!][/text] And this code was previously used to submit the above data to Sage from one of my client's WebDNA 8.5.1 servers before it broke on 06/25/2018 when Sage upgraded to TLS 1.2: [text]sageReply=[!] [/!][tcpconnect host=sagepayments.net&port=443&ssl=T][!] [/!][tcpsend skipheader=T]POST /cgi-bin/eftBankcard.dll[!] [/!]?transaction HTTP/1.0[n][!] [/!]Content-Type: application/x-www-form-urlencoded[n][!] [/!]Content-Length:[countchars][sageContent][/countchars][n][n][!] [/!][sageContent][n][!] [/!][/tcpsend][!] [/!][/tcpconnect][!] [/!][/text] So now I use this code which replaces the tcpconnect on my client's Ubuntu 16.04 server, and so far it works perfectly: [text]sageReply=[!] [/!][shell]curl -d "[sageContent]" --tlsv1.2 POST [!] [/!]https://sagepayments.net/cgi-bin/eftBankcard.dll[!] [/!]?transaction[/shell][!] [/!][/text] THEREFORE: If my use of "HTTP/1.0" is not causing the above tcpconnect to fail, then maybe tcpconnect simply does not work in WebDNA 8.5.1 and earlier when POSTing data to a server that requires TLS 1.2. The curl code is much simpler anyways. Curl uses the "x-www-form-urlencoded" content type by default, and there's no need to count characters in curl POST data or specify a HTTP version. :) Regards, Kenneth Grome WebDNA Solutions http://www.webdnasolutions.com Web Database Systems and Linux Server Administration --------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list talk@webdna.us To unsubscribe, E-mail to: talk-leave@webdna.us archives: http://www.webdna.us/page.dna?numero=55 Bug Reporting: support@webdna.us . Kenneth Grome

DOWNLOAD WEBDNA NOW!

Top Articles:

Talk List

The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...

Related Readings:

WebCat2 several catalogs? (1997) OT - good CC processor(s)? (1999) test (2003) NT lockup (1998) [OT] Passing a WebDNA variable through flash (2004) country of origin from IPADDRESS??? (2001) Cart passing in URL... (2004) Help!!!! (1997) Emailer on NT CAN'T handle large email files (1997) Shopping cart now good (fixed it) (1997) Setting a range in a search (1998) same product in cart (1997) sort links (2002) Problems when user hit back (2000) Multiple prices (1997) New index for docs (1997) [LOOKUP] (1997) Re:Signal Raised (1997) Possible Hijacking from Globix (2002) WebMerchant 1.6 and https (1997)