[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 = 1940For anyone who needs it, this code creates POST data for myclient'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 Sagefrom one of my client's WebDNA 8.5.1 servers before it broke on06/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 myclient'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 tofail, then maybe tcpconnect simply does not work in WebDNA 8.5.1and 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 noneed to count characters in curl POST data or specify a HTTP version.:)Regards,Kenneth GromeWebDNA Solutionshttp://www.webdnasolutions.comWeb Database Systems and Linux Server Administration---------------------------------------------------------This message is sent to you because you are subscribed tothe mailing list talk@webdna.usTo unsubscribe, E-mail to: talk-leave@webdna.usarchives: http://www.webdna.us/page.dna?numero=55Bug Reporting: support@webdna.us.
Associated Messages, from the most recent to the oldest:
| |
- [WebDNA] Sage code: use curl instead of tcpconnect (Kenneth Grome 2018)
|
1940For anyone who needs it, this code creates POST data for myclient'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 Sagefrom one of my client's WebDNA 8.5.1 servers before it broke on06/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 myclient'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 tofail, then maybe tcpconnect simply does not work in WebDNA 8.5.1and 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 noneed to count characters in curl POST data or specify a HTTP version.:)Regards,Kenneth GromeWebDNA Solutionshttp://www.webdnasolutions.comWeb Database Systems and Linux Server Administration---------------------------------------------------------This message is sent to you because you are subscribed tothe mailing list talk@webdna.usTo unsubscribe, E-mail to: talk-leave@webdna.usarchives: http://www.webdna.us/page.dna?numero=55Bug 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)