Quantcast
Channel: VOIP-info.org Wiki Changes
Viewing all articles
Browse latest Browse all 5767

Credit Card Dialplan for Asterisk

$
0
0
Here is a working model for asking the questions needed to process the creditcard. I have also added in this code something called
paylib.py. This file is not complete and renders the code unable to process cards. This is because you have to have to put your
processor's integration code into play in this file. Everything else should work as expected

pyastcc-master.zip Download pyastcc-master.zip

something like the below should be added to your extensions file to run the credit card processing

#include ccext.conf
exten => _X.,n,Goto(ccmain,s,1)



I SUGGEST USING THIS WITH SOME KIND OF SSL CERTIFICATE FOR ENCRYPTION OF THE PHONE CALL OR RTP DATA

All of the below is included in ccext.conf in the compressed tar.gz file

ccext.conf:
[ccmain]
exten => s,1,Wait(2)
exten => s,2,Background(CC/ccintro)
exten => s,3,Macro(askdigits,enteracctnum,6,verifyacct.agi)
exten => s,4,Macro(askdigits,enteramt,8,verifymoney.agi)
exten => s,5,Macro(askdigits,enterzip,5,verifyzip.agi)
exten => s,6,Macro(askdigits,enteraddr,12,verifyaddr.agi)
exten => s,7,Macro(askdigits,entercc,25,verifycc.agi)
exten => s,8,Macro(askdigits,enterexpir,4,verifyexp.agi)
exten => s,9,Macro(askdigits,entercvv2,4,verifycvv2.agi)
exten => s,10,Background(CC/runccnow)
exten => s,11,AGI(runcc.agi|sale|${CCNUM}|${CCEXP}|${CVV2}|${CCAMT}|${ACCT}|${CCZIP}|${CCADDR})
exten => s,12,GOTO(rs-${APPRESULT},1)

exten => rs-ERROR,1,Playback(CC/tryagain)
exten => rs-ERROR,2,Goto(s,4)

exten => rs-APPROVED,1,Playback(CC/approved&CC/yourauthcodeis)
exten => rs-APPROVED,2,SayAlpha(${AUTHCODE})
exten => rs-APPROVED,3,Playback(CC/again&CC/yourauthcodeis)
exten => rs-APPROVED,4,SayAlpha(${AUTHCODE})
exten => rs-APPROVED,5,Playback(CC/thankyou)
exten => rs-APPROVED,6,Hangup()

exten => rs-DECLINED,1,Playback(CC/declined)
exten => rs-DECLINED,2,Goto(s,4)

[macro-askdigits]
exten => s,1,Read(thevalue,CC/${ARG1},${ARG2},skip,4,25)
exten => s,2,AGI(${ARG3}|${thevalue})
exten => s,3,GotoIf($["${verify}" = "0"]?i,1)
exten => i,1,Playback(CC/invalid)
exten => i,2,GotoIf($["${reason}" = ""]?4)
exten => i,3,Playback(CC/${reason})
exten => i,4,Goto(s,1)



Here is the Dialplan I used to create the audio files I needed. In this you will hit # after you make the recording. As well you will need to create a folder for the audio files. I used CC (/var/lib/asterisk/sounds/CC) and included
them in the file listed in this post. ...

Viewing all articles
Browse latest Browse all 5767

Trending Articles