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

Textarea (1998) & in Lookups (1997) Webdna 5.0 reference documentation (2003) WebCatalog [FoundItems] Problem - AGAIN - (1997) Shopping carts and reloading pages (1997) OT:looking for developers with solutions (2000) Am I going senile? (Price recalc based on quantity) (1997) No luck with taxes (1997) webCatalog and Stocks (1998) Re(2): NT version and O'reily's WebSite (1997) Help name our technology! (1997) sort problems....bug or brain fart? (1997) OT: Safari/Mac - frames and iframes acting weird (2007) Show if time tags (1997) Checkboxes on forms?? (1998) Can't use old cart file (was One more try) (1997) WC2.0 Memory Requirements (1997) unable to run webcatalog locally (1998) password authentication schemes (2003) F2 to F3 rocky transition (1997)