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

WebCommerce: Folder organization ? (1997) ShipCost Data Base (1998) remotely creating and populating a stock inventory db -almost there! (1999) suggestion (1997) [WebDNA] Lookup vs. Search (2009) MATH PROBLEM (1997) WebCat2.0b15-to many nested [xx] tags (1997) help (2001) READFILE command? (1998) [WebDNA] Mac Question (2018) Automatic installation of WebDNA by hosting clients? (2005) Another question (1997) Version 2.0 and 1.6 simultaneous (1997) Sorting by date (1997) [WebDNA] Stripe (2015) The beginning (1997) More on the email templates (1997) Flash Stores (2003) Caching [include] files ... (1997) Price Not Appearing (2000)