SAMPLE CODE
cURL
curl https://trans.slimcd.com/soft/json/jsonpayment.asp
--data-urlencode"username=R6UT8C6M"
--data-urlencode"transtype=SALE"
--data-urlencode"amount=10.00"
--data-urlencode"cardnumber=4111111111111111"
--data-urlencode"expmonth=12"
--data-urlencode"expyear=49"
--data-urlencode"product=MyCurl"
--data-urlencode"ver=1.0"
--data-urlencode"key=SVD-072-5QQ6-5K58";
JavaScrip
<script type="text/javascript"src="https://trans.slimcd.com/soft/json/slimcd.js"></script>
<script>
SlimCD.Transact.ProcessTransaction({
"username":"R6UT8C6M"
,"transtype":"SALE"
,"amount":"10.00"
,"cardnumber":"4111111111111111"
,"expmonth":"12"
,"expyear":"49"
,"product":"MyJavaScript"
,"ver":"1.0"
},
function(reply){
if(reply.response=="Success"){
alert('Approved!');
}
else{
alert('There was a problem processing the payment:rn('+reply.description+') '+reply.description);
}
});
</script>
jQUERY/JSON
$.support.cors=true;
$.ajax({
type:'POST',
url:'https://trans.slimcd.com/soft/json/jsonpayment.asp',
crossDomain:true,
timeout:60000,
contentType:"application/json",
data:{"username":"R6UT8C6M"
,"password":""
,"transtype":"SALE"
,"amount":"10.00"
,"cardnumber":"4111111111111111"
,"expmonth":"12"
,"expyear":"49"
,"product":"MyJQuery"
,"ver":"1.0"},
dataType:'jsonp',
success:function(responseData,textStatus,jqXHR){
if(responseData.reply.response=='Success'){
alert('Approved!');
}
else{
alert("reply="+responseData.reply.response+":"+responseData.reply.description);
}
},
error:function(responseData,textStatus,errorThrown){
alert('POST failed:'+textStatus+'='+errorThrown);
}
});
PHP/JSON
include'slimcd.php';
// Create the Slim CD object
$SlimCD=newSlimCD();
// Create a ProcessTransaction Request class
$request=newTransact_ProcessTransactionRequest();
$request->username='1032';
$request->password='289075';
$request->clientid='1032';
$request->siteid=228226448;
$request->priceid=74;
$request->transtype='SALE';
$request->amount='10.00';
$request->cardnumber='4111111111111111';
$request->expmonth='12';
$request->expyear='49';
$request->product='MyPHP';
$request->ver='1.0';
$request->key='SVD-072-5QQ6-5K58';
$reply=$SlimCD->Transact_ProcessTransaction($request);
echovar_dump($reply);
C#.NET 2-4
SlimCD.Transact transact=newSlimCD.Transact();
ProcessTransactionRequest request=newProcessTransactionRequest();
ProcessTransactionReply reply=newProcessTransactionReply();
request.username="1032";
request.password="289075";
request.clientid=1032;
request.siteid=228226448;
request.priceid=74;
request.transtype="SALE";
request.amount="10.00";
request.cardnumber="4111111111111111";
request.expmonth="12";
request.expyear="49";
request.product="MyCSharp";
request.ver="1.0";
request.key="SVD-072-5QQ6-5K58";
reply=transact.ProcessTransaction(request,60);
if(reply.response.ToUpper()=="SUCCESS")
{
MessageBox.Show("Approved");
}
else
{
MessageBox.Show("There was a problem processing the payment:rn"+reply.description);
}
VB.NET 2-4
Rem VB.NET2.0orgreater SYNCHRONOUS LIBRARY CALL
Dim transact AsNewSlimCD.Transact()
Dim request AsNewProcessTransactionRequest()
Dim reply AsNewProcessTransactionReply()
request.username="1032"
request.password="289075"
request.clientid=1032
request.siteid=228226448
request.priceid=74
request.transtype="SALE"
request.amount="10.00"
request.cardnumber="4111111111111111"
request.expmonth="12"
request.expyear="49"
request.product="MyCSharp"
request.ver="1.0"
request.key="SVD-072-5QQ6-5K58"
reply=transact.ProcessTransaction(request,60)
Ifreply.response.ToUpper()="SUCCESS"Then
MessageBox.Show("Approved")
Else
MessageBox.Show("There was a problem processing the payment:"&vbCr&vbLf+reply.description)
EndIf
C#.NET 4-5
SlimCD.Transact transact=newSlimCD.Transact();
ProcessTransactionRequest request=newProcessTransactionRequest();
ProcessTransactionReply reply=newProcessTransactionReply();
request.username="1032";
request.password="289075";
request.clientid=1032;
request.siteid=228226448;
request.priceid=74;
request.transtype="SALE";
request.amount="10.00";
request.cardnumber="4111111111111111";
request.expmonth="12";
request.expyear="49";
request.product="MyCSharp";
request.ver="1.0";
request.key="SVD-072-5QQ6-5K58";
reply=awaittransact.ProcessTransaction(request,60);
if(reply.response.ToUpper()=="SUCCESS")
{
MessageBox.Show("Approved");
}
else
{
MessageBox.Show("There was a problem processing the payment:rn"+reply.description);
}
VB.NET 4-5
Rem VB.NET4.5orgreater ASYNCHRONOUS LIBRARY CALL
Dim transact AsNewSlimCD.Transact()
Dim request AsNewProcessTransactionRequest()
Dim reply AsNewProcessTransactionReply()
request.username="1032"
request.password="289075"
request.clientid=1032
request.siteid=228226448
request.priceid=74
request.transtype="SALE"
request.amount="10.00"
request.cardnumber="4111111111111111"
request.expmonth="12"
request.expyear="49"
request.product="MyCSharp"
request.ver="1.0"
request.key="SVD-072-5QQ6-5K58"
reply=Await transact.ProcessTransaction(request,60)
Ifreply.response.ToUpper()="SUCCESS"Then
MessageBox.Show("Approved")
Else
MessageBox.Show("There was a problem processing the payment:"&vbCr&vbLf+reply.description)
EndIf
IOS
SlimCD*api=[[SlimCDalloc] init];
TransactProcessTransactionRequest*request=[[TransactProcessTransactionRequestalloc] init];
request.userName=@"1032";
request.password=@"289075";
request.clientID=@1032;
request.siteID=@228226448;
request.priceID=@74;
request.transType=@"SALE";
request.amount=@"10.00";
request.cardNumber=@"4111111111111111";
request.expMonth=@"12";
request.expYear=@"2049";
request.product=@"MyObjectiveC";
request.ver=@"1.0";
request.key=@"SVD-072-5QQ6-5K58";
[api transactProcessTransactionWithRequest:request replyBlock:^(TransactProcessTransactionReply*reply){
if(reply.responseCode==RC_SUCCESS)
{
NSLog(@"Approved");
}
else
{
NSLog(@"There was a problem processing the payment: %@",reply.responseDescription);
}
}];
SOAP/XML
// A WebReferecen to "https://trans.slimcd.com/wswebservices/transact.asmx" is required for this to work.
// In the case below, it is called "Trans"
StringuserName="1032";
Stringpassword="289075";
Trans.transact wsTran=newTrans.transact();
stringxmlDataString="<request>";
xmlDataString=xmlDataString+"<clientid>1032</clientid>";
xmlDataString=xmlDataString+"<siteid>228226448</siteid>";
xmlDataString=xmlDataString+"<priceid>74</priceid>";
xmlDataString=xmlDataString+"<transtype>SALE</transtype>";
xmlDataString=xmlDataString+"<amount>10.00</amount>";
xmlDataString=xmlDataString+"<cardnumber>4111111111111111</cardnumber>";
xmlDataString=xmlDataString+"<expmonth>12</expmonth>";
xmlDataString=xmlDataString+"<expyear>2049</expyear>";
xmlDataString=xmlDataString+"<product>MySample</product>";
xmlDataString=xmlDataString+"<ver>1.0</ver>";
xmlDataString=xmlDataString+"<key>SVD-072-5QQ6-5K58</key>";
xmlDataString=xmlDataString+"</request>";
System.Xml.XmlNode xn;
try
{
this.txtResponse.Text="";
System.Net.ServicePointManager.CertificatePolicy=newcertificateIssues();
xn=wsTran.ProcessTransaction(userName,password,xmlDataString);
if(xn==null)
{
this.txtResponse.Text="Got nothing back";
}
else
{
System.IO.StringReader reader=newSystem.IO.StringReader(xn.OuterXml.ToString());
DataSet ds=newDataSet();
ds.ReadXml(reader);
this.txtResponse.Text=ds.GetXml().ToString();
ds=null;
}
}
catch(Exception ex)
{
this.txtResponse.Text="Error Occurred: "+ex.Message;
}
finally
{
wsTran=null;
}
Developer Downloads
Developers Features:
Slim CD has worked with POS-X hardware to support an end-to-end encryption solution for developers and merchants. With POS-X hardware encryption you can minimize risk to cardholder data by encrypting track data as it is swiped, and decrypting it at the processor. Since our data is already sent encrypted, this minimizes the chance for the cardholder data to be captured anywhere along the route. This limits the merchant’s risk during PCI audits, and adds an additional layer of security.
Slim CD has developed a system that allows a merchant to perform repeat customer transactions without storing any credit card data. When a card is first run through our system, a token is returned representing that card number. That token can then be used to perform repeat customer transactions, monthly transactions, credits, and more without any actual credit card data being stored! This additional feature allows the merchant to offer the best service to repeat customers without having to worry about PCI scrutiny or cardholder data storage.
Slim CD Secure Sessions
Slim CD’s Lifeline technology allows a developer to create a program that calls out to a payment page hosted on Slim CD’s secure servers. This completely removes the responsibility of handling credit card data from the developer’s product. We allow you to remain outside the scope of PCI compliance while still retaining your ability to quickly and securely perform credit card transactions. You can monitor the progress of the transaction in real-time and record success or failure of a transaction in your system, without touching credit card data!
Reduced Scope PA-DSS + PCI Validation
Slim CD is partnering with igxGlobal to provide our developers with reduced-scope PA-DSS and PCI validation. Using our technologies, you will have an easier time developing a PCI compliant product for your merchants. This gives you an edge over your competition, making sure you are on the cutting edge of information security.
Enabling payments in your application:
Adding electronic payment support to your software opens your products up to a whole new level of customer satisfaction and acceptance. It can also be a severe headache. What do you implement for the customer? Credit cards? Checks? Do they want to run a giftcard program? How are you going to program for all this?
And it doesn't stop there. Each implementation, whether its checks, credit cards, DEBIT, giftcards, images, or whatever, requires you to go through a lengthy certification process that takes weeks, or even months. And if you want to connect to a different bank network, or a different payment method, you've got to go back and rewrite all your software again.
What we do for the developer
You dont have to worry about rewriting your software anymore. One integration and you're done. Our processing interface is PURE XML. So it's language independent. If your software can send SOAP over HTTP POST, thats all you need. You send a string, you parse a string. That's it. You dont have to worry about bank platforms, because we translate your XML to the bank's native format. And since we connect to all the major platforms, you dont need to worry about being locked into a single platform anymore.
Our SDK allows you to accept almost any concievable form of electronic payment - with one single function call. No multiple interfaces. Whether you want to process checks or accept credit cards, do DEBIT or start your own giftcard program, all of these calls are sent through one function - one XML string in, one XML string out.
Inside our SDK we've made available working sample code that you can cut and paste into you application - drop it in and you're done! We have a simple, easy COM component for VB6, FOXPRO, and DELPHI developers - its drop-dead easy to use and carries no royalty fees. Distribute it with your application at no cost to you. Language examples include:- Delphi
- VB6
- VB.NET
- C#
- Visual C++ 6.0
- Foxpro
- PHP
- Perl
- ASP Classic
- ASP.NET