[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:

[WebDNA] WebDNA receiving numerous signal SIGSEGV then crashing (2016) Webstar 1.3.1 PPC (1997) Purchase Plugin Missing (1996) WebCatalog for guestbook ? (1997) HTML Editors (1997) [WC 2.1.30] Stack overflow. (2000) WebTen Memory Error with Plug-In (1998) triggering an update of two frames (1998) How many Databases can I open? (2003) multi-paragraph fields (1997) Adding more than one item and QTY to cart (2000) Pithy questions on webcommerce & siteedit (1997) RE: Upload (1998) Lookup Notfound (1998) UPS Online (2002) OT: MacAuthorize (2001) Formulas.db + Users.db (1997) RE: protect tag on NT (1997) Country & Ship-to address & other fields ? (1997) Wrapping text (1998)