We've Moved! Please visit our new and improved forum over at our new portal: https://portal.plumvoice.com/hc/en-us/community/topics
Bankcard data validation via https POST
-
- Posts: 4
- Joined: Wed Sep 26, 2007 4:57 pm
Bankcard data validation via https POST
Is there some type of demo application that PLUM has that could show how we could collect some input from a caller, then using that input make a POST or GET to a HTTP webserver that delivers back some values that we can continue to use in our script?
We have an in-house IVR application that collects bankcard information for utility bill payment processing. We need to have our caller enter their account number, then we hit the existing web-server database to validate that account, returning variables for the service address and current amount owed. We then prompt for bankcard information, CCV, etc and then take all that and complete the online credit card charge.
We are hoping to move to PLUM for the voice input that our system doesn't now support.
Thanks.
We have an in-house IVR application that collects bankcard information for utility bill payment processing. We need to have our caller enter their account number, then we hit the existing web-server database to validate that account, returning variables for the service address and current amount owed. We then prompt for bankcard information, CCV, etc and then take all that and complete the online credit card charge.
We are hoping to move to PLUM for the voice input that our system doesn't now support.
Thanks.
IVR tutorial- bankcard data validation via https POST
Hi,
Here's a link to our IVR tutorial that provides some IVR examples of how to collect input from a caller and using that input to make a POST or GET to a HTTP webserver:
http://www.plumvoice.com/docs/dev/devel ... nding_Data
Hope this helps.
Regards,
Plum Support
Here's a link to our IVR tutorial that provides some IVR examples of how to collect input from a caller and using that input to make a POST or GET to a HTTP webserver:
http://www.plumvoice.com/docs/dev/devel ... nding_Data
Hope this helps.
Regards,
Plum Support
Last edited by support on Fri Feb 19, 2010 4:14 pm, edited 3 times in total.
Plum Support
http://www.plumvoice.com
http://www.plumvoice.com
-
- Posts: 4
- Joined: Wed Sep 26, 2007 4:57 pm
Re: bankcard data validation via https POST
I'm still a bit baffled by how to access remote data. I reviewed your examples, and found some more info shown as the Record.vxml and Save.php samples, but can't tell if that is really doing anything with the <submit next="http://mightyserver.com/Save.php" namelist="msg" method="post" enctype="multipart/form-data"/> shown there.support wrote:Hi,
Here's a link to our tutorial that provides some examples of how to collect input from a caller and using that input to make a POST or GET to a HTTP webserver:
http://www.plumvoice.com/docs/dev/devel ... e:tutorial
Hope this helps.
Regards,
Plum Support
If you try this URL that feeds up data from our server for example:
http://lookup.afts.com:8080/plum.htm?Tx=5
You will see a dollar about related ot the Tx=5 value passed. This test page I setup works with any value from 1-7. Could a simple Plum script be setup to capture a 1-7 key input in to a <var> and then feed that to URL example and have the Plum system respond with a voice rendering of the dollar amount returned? In the Record.vxml and Sav.php examples, I'm lost as to what the Saved.php file is for? Why can't you just feed the data you have caputred in the Record file to the mightyserver (or lookup.afts.com) and get the output back and continue?
Sorry to be asking such basic questions. I'm hoping this is easier than it seems and some future explanation by you or others here will clarify if for me.
Thanks so much.
Rick
Use <subdialog> tag in IVR script to collect data
Hi,
I would recommend using the <subdialog> tag for what you want to do. The subdialog tag allows you to collect data from your main script, send the data to a subdialog page to return a value back to the main page, and continue on with your IVR application.
For IVR example:
Here's your main script.
Here's what dollar.php would look like:
Hope this helps.
Regards,
Plum Support
I would recommend using the <subdialog> tag for what you want to do. The subdialog tag allows you to collect data from your main script, send the data to a subdialog page to return a value back to the main page, and continue on with your IVR application.
For IVR example:
Here's your main script.
Code: Select all
<?xml version="1.0"?>
<vxml version="2.0">
<form>
<field name="number">
<grammar type="application/x-jsgf">1|2|3</grammar>
<prompt>
Please enter a number using your keypad.
</prompt>
</field>
<subdialog name="blah" namelist="number" src="http://server.com/dollar.php"/>
<block>
<prompt>
Your dollar amount is <value expr="blah.amount"/>.
</prompt>
</block>
</form>
</vxml>
Code: Select all
<?php
header("Content-type: text/xml");
echo("<?xml version=\"1.0\"?>\n");
$number = $_GET[number];
if($number==1){
$dollar="$134.00";
}
elseif($number==2){
$dollar="$54.00";
}
else{
$dollar="$5.00";
}
?>
<vxml version="2.0">
<form id="getdollaramount">
<block>
<var name="amount" expr="'<?php echo($dollar)?>'"/>
<return namelist="amount"/>
</block>
</form>
</vxml>
Regards,
Plum Support
Last edited by support on Fri Feb 19, 2010 4:14 pm, edited 3 times in total.
Plum Support
http://www.plumvoice.com
http://www.plumvoice.com
reminder for data exchange when using IVR system
Just a reminder when using the IVR system...
When using the <subdialog> or <submit> tags for data exchange, a VXML document must be returned to the VoiceXML platform. When using the <data> tag for data exchange, an XML file must be returned to the VoiceXML platform.
Regards,
Plum Support
When using the <subdialog> or <submit> tags for data exchange, a VXML document must be returned to the VoiceXML platform. When using the <data> tag for data exchange, an XML file must be returned to the VoiceXML platform.
Regards,
Plum Support
Last edited by support on Tue Jan 12, 2010 4:39 pm, edited 4 times in total.
Plum Support
http://www.plumvoice.com
http://www.plumvoice.com
-
- Posts: 4
- Joined: Wed Sep 26, 2007 4:57 pm
Still lost
In reading your response to my question last night, it seems like you are saying that I need to "feed" from my server some output that looks like the vxml layout you documented in the Dollar.PHP file. I can't use PHP on my server, so I used the HTF instead. I can't seem to make the <> symbols generate, and am hoping these are not needed, but need clarification maybe.
My URL of http://lookup.afts.com:8080/plum.htf produces on my screen the following:
?xml version="1.0"?
vxml version="2.0"
form id="getdollaramount"
block
var name="amount" expr="$23,882.00"
return namelist="amount"
/block
/form
/vxml
I then made your demo script active in my account and changed the server.com to my actual server noted above.
<?xml version="1.0"?>
<vxml version="2.0">
<form>
<field name="number">
<grammar type="application/x-jsgf">1|2|3</grammar>
<prompt>
Please enter a number using your keypad.
</prompt>
</field>
<subdialog name="blah" namelist="number" src="http://lookup.afts.com:8080/plum.htf"/>
<block>
<prompt>
Your dollar amount is <value expr="blah.amount"/>.
</prompt>
</block>
</form>
</vxml>
The input of 1, 2, or 3 does nothing at this point. Our server is pulling data using a default value of 7 on our side.
The 'namelist' command has me baffled a bit. I would think I would send the 'number' with a defined name in my URL, sort of like lookup.afts.com:8080?Tx=5 where the Tx is the variable my server script is looking for to carry the 'number' for accessing the database, which would then be used to create the VXML layout like shown. Or, maybe the variable is both the string name and value of the string when passed? It sort of seems like that might be true given the <value expr="blah.amount"/> shown in your sample.
Am I even close to understanding how this really works or am I totally confused here?
Thanks for your continued patience. Rick
My URL of http://lookup.afts.com:8080/plum.htf produces on my screen the following:
?xml version="1.0"?
vxml version="2.0"
form id="getdollaramount"
block
var name="amount" expr="$23,882.00"
return namelist="amount"
/block
/form
/vxml
I then made your demo script active in my account and changed the server.com to my actual server noted above.
<?xml version="1.0"?>
<vxml version="2.0">
<form>
<field name="number">
<grammar type="application/x-jsgf">1|2|3</grammar>
<prompt>
Please enter a number using your keypad.
</prompt>
</field>
<subdialog name="blah" namelist="number" src="http://lookup.afts.com:8080/plum.htf"/>
<block>
<prompt>
Your dollar amount is <value expr="blah.amount"/>.
</prompt>
</block>
</form>
</vxml>
The input of 1, 2, or 3 does nothing at this point. Our server is pulling data using a default value of 7 on our side.
The 'namelist' command has me baffled a bit. I would think I would send the 'number' with a defined name in my URL, sort of like lookup.afts.com:8080?Tx=5 where the Tx is the variable my server script is looking for to carry the 'number' for accessing the database, which would then be used to create the VXML layout like shown. Or, maybe the variable is both the string name and value of the string when passed? It sort of seems like that might be true given the <value expr="blah.amount"/> shown in your sample.
Am I even close to understanding how this really works or am I totally confused here?
Thanks for your continued patience. Rick
bankcard data validation via https POST using IVR system
Hi,
The "<" and ">" are absolutely critical in getting the IVR system to work. Also, your web server is generating HTML, which cannot be parsed by the VoiceXML platform. The VoiceXML platform can only parse valid VXML.
You can also look at your IVR source code in a web browser to see if it is correct. The output from your file should look something like this on your web browser:
<?xml version="1.0"?>
<vxml version="2.0">
<form id="getdollaramount">
<block>
<var name="amount" expr="'$5.00'"/>
<return namelist="amount"/>
</block>
</form>
</vxml>
So, if you are able to generate your HTF file into VXML instead of HTML, you should be able to get your IVR application to work.
Regards,
Plum Support
The "<" and ">" are absolutely critical in getting the IVR system to work. Also, your web server is generating HTML, which cannot be parsed by the VoiceXML platform. The VoiceXML platform can only parse valid VXML.
You can also look at your IVR source code in a web browser to see if it is correct. The output from your file should look something like this on your web browser:
<?xml version="1.0"?>
<vxml version="2.0">
<form id="getdollaramount">
<block>
<var name="amount" expr="'$5.00'"/>
<return namelist="amount"/>
</block>
</form>
</vxml>
So, if you are able to generate your HTF file into VXML instead of HTML, you should be able to get your IVR application to work.
Regards,
Plum Support
Last edited by support on Fri Feb 19, 2010 4:15 pm, edited 2 times in total.
Plum Support
http://www.plumvoice.com
http://www.plumvoice.com
-
- Posts: 4
- Joined: Wed Sep 26, 2007 4:57 pm
Still getting FETCH error
Hello. We are still stuck. We moved the back end server to a different machine that can produce output without the HTML tag you indicated was causing the problem. We have setup the VXML output on the server to feed back just a fixed amount at this point, per your earlier suggestion.
Here is our test script, with the new URL shown in red:
<?xml version="1.0"?>
<vxml version="2.0">
<form>
<field name="number">
<grammar type="application/x-jsgf">1|2|3</grammar>
<prompt>
Please enter a number using your keypad. We will now try to get a 5 dollar response.
</prompt>
</field>
<subdialog name="blah" namelist="number" src="https://web.afts.com/Testww/wc.dll?IVRPRC~PlumIVR"/>
<block>
<prompt>
Your dollar amount is <value expr="blah.amount"/>.
</prompt>
</block>
</form>
</vxml>
The server returns:
<?xml version="1.0" ?>
<vxml version="2.0">
<form id="getdollaramount">
<block>
<var name="amount" expr="$5.00" />
<return namelist="amount" />
</block>
</form>
</vxml>
Why are we still getting the error bad fetch response?
Thanks.
Here is our test script, with the new URL shown in red:
<?xml version="1.0"?>
<vxml version="2.0">
<form>
<field name="number">
<grammar type="application/x-jsgf">1|2|3</grammar>
<prompt>
Please enter a number using your keypad. We will now try to get a 5 dollar response.
</prompt>
</field>
<subdialog name="blah" namelist="number" src="https://web.afts.com/Testww/wc.dll?IVRPRC~PlumIVR"/>
<block>
<prompt>
Your dollar amount is <value expr="blah.amount"/>.
</prompt>
</block>
</form>
</vxml>
The server returns:
<?xml version="1.0" ?>
<vxml version="2.0">
<form id="getdollaramount">
<block>
<var name="amount" expr="$5.00" />
<return namelist="amount" />
</block>
</form>
</vxml>
Why are we still getting the error bad fetch response?
Thanks.
IVR fix for Still getting FETCH error
Hi,
There are two IVR issues that need to be resolved to get your IVR application to work.
1) You should add a POST to the <subdialog> line. To do this, you should change the red line of IVR code to:
2) There needs to be single quotes around the $5.00 as well as the double quotes. So what your IVR server should be seeing is:
<?xml version="1.0" ?>
<vxml version="2.0">
<form id="getdollaramount">
<block>
<var name="amount" expr="'$5.00'" />
<return namelist="amount" />
</block>
</form>
</vxml>
Hope this helps.
Regards,
Plum Support
There are two IVR issues that need to be resolved to get your IVR application to work.
1) You should add a POST to the <subdialog> line. To do this, you should change the red line of IVR code to:
Code: Select all
<subdialog name="blah" namelist="number" src="https://web.afts.com/Testww/wc.dll?IVRPRC~PlumIVR" method="post"/>
<?xml version="1.0" ?>
<vxml version="2.0">
<form id="getdollaramount">
<block>
<var name="amount" expr="'$5.00'" />
<return namelist="amount" />
</block>
</form>
</vxml>
Hope this helps.
Regards,
Plum Support
Plum Support
http://www.plumvoice.com
http://www.plumvoice.com