Diese Seite mit anderen teilen ...

Informationen zum Thema:
Forum:
WinDev Forum
Beiträge im Thema:
7
Erster Beitrag:
vor 5 Jahren, 1 Monat
Letzter Beitrag:
vor 4 Jahren, 10 Monaten
Beteiligte Autoren:
steve erts, RichardRose, Fabrice Harari

Credit Card Interfacing (US Based)

Startbeitrag von steve erts am 07.12.2012 19:02

Hi,

I am looking to add credit card authorization to my application and was wondering if any other US based windev/webdev developers had any experiences they could share? I am looking to to do this online, not in batch, as I don't plan to store the clients CC in my database to lessen the level of PCI compliance required. Ideally I'd be looking for a merchant interface that allowed me to send XML to a webservice.

Any feedback on successes/pitfalls appreciated.

Steve

Antworten:

Hi Steve

if your users are the one doing the payment (by opposition of your users being clerks in a store and oding the payment for the customers), you can quite easily interface with paypal...

Your application would send to paypal (via the web browser on the local computer) either just the sum to be paid or a list of articles with prices for each, and paypal would answer with the login/payment (so your users could pay with a paypal account or simply a credit card)

There is an example for this in webdev, so you can adapt it to use in windev.

In fact, paypal even has a systemthat you can use directly in your windev application (it's available only for the US), and I know that Vincent Roy has developed a windev component ($$$) encapsulating it, if you don't want to spend to much time on it yourself

Best regards



Best regards

von Fabrice Harari - am 07.12.2012 19:52
Fabrice, thanks for the ideas, FYI I'm looking for a solution for call center app first, web later.

von steve erts - am 07.12.2012 20:50
After doing a little research it appears that Authorize.net offers XML authorization through a webservice.

Here is a link to their developer guide.

http://www.authorize.net/support/AIM_guide_XML.pdf

von steve erts - am 07.12.2012 21:34
If anyone is interested here is working sample code to get credit card authorization from Authorize.net

All you have to do is sign up for a free developer test account and then send XML requests to their webservice using the test merchant account they provide.


PROCEDURE GP_CreateTransactionRequest(sQuoteID is string,sAmount is string,scardNumber is string,sExp is string,scardCode is string)



sResponse is string
sName is string
sTransactionKey is string
sDQ is string = Charact(34) // "
bRes is boolean
sTransactionRequest is string
sDecryptedString is string
sDecryptedString2 is string
sXMLHeaderAttribute is string="xmlns:xsi="+sDQ+"http://www.w3.org/2001/XMLSchema-instance"; +sDQ+
" xmlns:xsd="+sDQ+"http://www.w3.org/2001/XMLSchema "+sDQ+
" xmlns="+sDQ+"AnetApi/xml/v1/schema/AnetApiSchema.xsd"



//read payment gateway table

HReadFirst(paymentgateway)

sDecryptedString = Uncrypt(paymentgateway.APILoginID, "xxxxxx", cryptSecure, True)
sName=sDecryptedString

sDecryptedString2 = Uncrypt(paymentgateway.TransactionKey, "xxxxx", cryptSecure, True)
sTransactionKey=sDecryptedString2




// Create the XML document
bRes = XMLDocument("XMLTransactionRequest", sTransactionRequest)
// Was the document created?
IF bRes = False THEN
Error("The document was not created.")
ELSE
// Info("The document was successfully created. It is ready to be used.")
END

XMLInsertElement("XMLTransactionRequest", "createTransactionRequest","",False)
XMLAddAttribute("XMLTransactionRequest","createTransactionRequest",sXMLHeaderAttribute,True)
XMLAddChild("XMLTransactionRequest", "merchantAuthentication","", True)
XMLAddChild("XMLTransactionRequest", "name",sName)
XMLAddChild("XMLTransactionRequest", "transactionKey",sTransactionKey)
XMLRoot("XMLTransactionRequest")
XMLAddChild("XMLTransactionRequest", "refId",sQuoteID,True)
XMLRoot("XMLTransactionRequest")
XMLAddChild("XMLTransactionRequest", "transactionRequest","", True)
XMLAddChild("XMLTransactionRequest", "transactionType","authCaptureTransaction")
XMLAddChild("XMLTransactionRequest", "amount",sAmount)
XMLAddChild("XMLTransactionRequest", "payment","", True)
XMLAddChild("XMLTransactionRequest", "creditCard","", True)
XMLAddChild("XMLTransactionRequest", "cardNumber",scardNumber)
XMLAddChild("XMLTransactionRequest", "expirationDate",sExp)
XMLAddChild("XMLTransactionRequest", "cardCode",scardCode)

sTransactionRequest = XMLBuildString("XMLTransactionRequest",XMLDocumentDefault,XMLEncodingUTF8)


// fix data created in error
sTransactionRequest=Replace(sTransactionRequest,"createTransactionRequest=","")
sTransactionRequest=Replace(sTransactionRequest,Charact(34)+"xmlns","xmlns")
sTransactionRequest=Replace(sTransactionRequest,""",Charact(34))


//send transaction to authorize.net

HTTPRequest(paymentgateway.WebserviceLocation,"","",sTransactionRequest,"text/xml")

//get response
sResponse=HTTPGetResult()

//process response

von steve erts - am 11.01.2013 16:15
I guess I should also mention that "PaymentGateway" is a table I created to hold my authorize.net account info and that I am encrypting this in the DB

von steve erts - am 13.03.2013 17:45
WorldPay.com is another you could use, they have a variuety of methods and can also offer fraud prevention so your users dont lose money from fraudulent card use.

von RichardRose - am 21.03.2013 22:48
Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.