C# Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

C# Examples

Bounced Mail
Bz2
Character Encoding
CSV
Digital Certificates
Digital Signatures
Email
FTP
HTML to XML
HTTP
IMAP
Encryption
MHT / HTML Email
MIME
POP3
RSA
S/MIME
SMTP
Socket
Spider
SSH
SSH Tunnel
SSH Key
SFTP
Tar Archive
Upload
XML
XMP
Zip Compression


More Examples...
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
String
Byte Array
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

Submit Credit Card Transaction to PayPal

Download Chilkat .NET for 2.0 / 3.5 Framework

Download Chilkat .NET for 1.0 / 1.1 Framework

Submits a credit card transaction to PayPal. The response parameters are displayed for both success and error responses.

This example communicates directly with PayPal's Payflow servers via HTTPS.

Chilkat.HttpRequest req = new Chilkat.HttpRequest();
Chilkat.Http http = new Chilkat.Http();

bool success;

//  Any string unlocks the component for the 1st 30-days.
success = http.UnlockComponent("Anything for 30-day trial");
if (success != true) {
    MessageBox.Show(http.LastErrorText);
    return;
}

//  These are obviously not real credentials...
string username;
username = "seller_1999999893_biz_api1.chilkatsoft.com";
string password;
password = "1992299958";
string signature;
signature = "ALgNZbbbUgjlBaRnvTKJg8-C6AGpAepaaa1rysDXe1OnF7pJcaccccmN";
string version;
version = "3.2";

//  The PayPal NVP sandbox server for API Signature Security is:
//  https://api-3t.sandbox.paypal.com/nvp

//  Build an HTTPS POST Request:
req.UsePost();
req.Path = "/nvp";

//  The content-type should be text/namevalue
req.AddHeader("content-type","text/namevalue");

req.AddParam("METHOD","doDirectPayment");
req.AddParam("PAYMENTACTION","Sale");
req.AddParam("AMT","1.00");
req.AddParam("IPADDRESS","37.174.133.150");
//  Visa, Discover, Mastercard, or Amex
req.AddParam("CREDITCARDTYPE","Visa");
req.AddParam("ACCT","4397920706128982");
//  expiration date should be formatted MMYYYY
req.AddParam("EXPDATE","022010");
req.AddParam("CVV2","382");
req.AddParam("FIRSTNAME","Test");
req.AddParam("LASTNAME","User");
req.AddParam("STREET","1 Main St");
req.AddParam("CITY","San Jose");
req.AddParam("STATE","CA");
req.AddParam("ZIP","95131");
req.AddParam("COUNTRYCODE","US");
req.AddParam("CURRENCYCODE","USD");

//  Credentials and version:
req.AddParam("VERSION",version);
req.AddParam("USER",username);
req.AddParam("PWD",password);
req.AddParam("SIGNATURE",signature);

//  Send the HTTPS POST and get the response.  Note: This is a blocking call.
//  The method does not return until the full HTTP response is received.
string domain;
int port;
bool ssl;
domain = "api-3t.sandbox.paypal.com";
port = 443;
ssl = true;
Chilkat.HttpResponse resp = null;

//  120-second non-activity timeout.
http.ReadTimeout = 15;

resp = http.SynchronousRequest(domain,port,ssl,req);
if (resp == null ) {
    textBox1.Text += http.LastErrorText + "\r\n";
}
else {

    //  The response body is in NVP format -- which is nothing more than URL-encoded name/value pairs.
    //  One easy way to parse it is to use the HttpRequest
    //  object in an unorthodox way.
    //  We'll create a fake URL that contains the name/value pairs
    //  found in the body of the response.
    //  Then we'll load it into a temporary HTTP request object.
    //  The HTTP request object does the parsing for us, and we
    //  can look at the params...
    string fakeUrl;
    fakeUrl = "http://www.test.com/abc.asp?" + resp.BodyStr;

    //  We're only using this request object to parse the NVP-formatted response body.
    Chilkat.HttpRequest req2 = new Chilkat.HttpRequest();
    req2.SetFromUrl(fakeUrl);

    //  The ACK param can have these values:
    //  Successful responses:
    //  Success
    //  SuccessWithWarning
    //  Error responses:
    //  Failure
    //  FailureWithWarning
    //  Warning
    textBox1.Text += "ACK: " + req2.GetParam("ACK") + "\r\n";

    //  Assuming success, we'll have these params:
    textBox1.Text += "AMT: " + req2.GetParam("AMT") + "\r\n";
    textBox1.Text += "CURRENCYCODE: " + req2.GetParam("CURRENCYCODE") + "\r\n";
    textBox1.Text += "AVSCODE: " + req2.GetParam("AVSCODE") + "\r\n";
    textBox1.Text += "CVV2MATCH: " + req2.GetParam("CVV2MATCH") + "\r\n";
    textBox1.Text += "TRANSACTIONID: " + req2.GetParam("TRANSACTIONID") + "\r\n";
    textBox1.Text += "TIMESTAMP: " + req2.GetParam("TIMESTAMP") + "\r\n";
    textBox1.Text += "CORRELATIONID: " + req2.GetParam("CORRELATIONID") + "\r\n";
    textBox1.Text += "VERSION: " + req2.GetParam("VERSION") + "\r\n";
    textBox1.Text += "BUILD: " + req2.GetParam("BUILD") + "\r\n";

    //  On failure, some of the above params will be set, but these
    //  params will also be present:
    textBox1.Text += "L_ERRORCODE0: " + req2.GetParam("L_ERRORCODE0") + "\r\n";
    textBox1.Text += "L_SHORTMESSAGE0: " + req2.GetParam("L_SHORTMESSAGE0") + "\r\n";
    textBox1.Text += "L_LONGMESSAGE0: " + req2.GetParam("L_LONGMESSAGE0") + "\r\n";
    textBox1.Text += "L_SEVERITYCODE0: " + req2.GetParam("L_SEVERITYCODE0") + "\r\n";

}

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2009 Chilkat Software, Inc. All Rights Reserved.

Email Component · XML Parser