https://www.x.com/docs/DOC-1414
and
https://www.x.com/community/ppx/code_samples
This is their xml api. I did not get their web services to work using automatically generated proxies in vs .net. Also keep in mind that you will have to declare constants or variables for api information, buyer, seller, etc.
string sAPIEndpoint = "https://svcs.sandbox.paypal.com/AdaptivePayments/Pay";
string sVersion = "1.1.0";
string sErrorLangugage = "en_US";
string sDetailLevel = "ReturnAll";
string sRequestDataBinding = "XML";
string sResponseDataBinding = "XML";
string sAppID = "APP-80W284485P519543T";
string sIpAddress = "255.255.255.255";
string sPartnerName = "MyCompanyName";
string sDeviceID = "255.255.255.255";
string sCurrencyCode = "USD";
string sActionType = "PAY";
string sReturnURL = "https://MyReturnURL";
string sCancelURL = "https://MyCancelURL";
string sFeesPayer = "EACHRECEIVER";
string sMemo = "testing my first pay call";
string sAmount = "5";
string sTrackingID = System.Guid.NewGuid().ToString();
StringBuilder sRequest = new StringBuilder("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
sRequest.Append("<PayRequest xmlns:ns2=\"http://svcs.paypal.com/types/ap\">");
sRequest.Append("<requestEnvelope><errorLanguage>");
sRequest.Append(sErrorLangugage);
sRequest.Append("</errorLanguage><detailLevel>");
sRequest.Append(sDetailLevel);
sRequest.Append("</detailLevel></requestEnvelope>");
sRequest.Append("<clientDetails><applicationId>");
sRequest.Append(sAppID);
sRequest.Append("</applicationId><deviceId>");
sRequest.Append(sDeviceID);
sRequest.Append("</deviceId><ipAddress>");
sRequest.Append(sIpAddress);
sRequest.Append("</ipAddress><partnerName>");
sRequest.Append(sPartnerName);
sRequest.Append("</partnerName></clientDetails>");
sRequest.Append("<actionType>");
sRequest.Append(sActionType);
sRequest.Append("</actionType><cancelUrl>");
sRequest.Append(sCancelURL);
sRequest.Append("</cancelUrl><returnUrl>");
sRequest.Append(sReturnURL);
sRequest.Append("</returnUrl><currencyCode>");
sRequest.Append(sCurrencyCode);
sRequest.Append("</currencyCode><feesPayer>");
sRequest.Append(sFeesPayer);
sRequest.Append("</feesPayer><memo>");
sRequest.Append(sMemo);
sRequest.Append("</memo><receiverList><receiver><amount>");
sRequest.Append(sAmount);
sRequest.Append("</amount><email>");
sRequest.Append(Receiver);
sRequest.Append("</email></receiver></receiverList><senderEmail>");
sRequest.Append(Sender);
sRequest.Append("</senderEmail><trackingId>");
sRequest.Append(sTrackingID);
sRequest.Append("</trackingId></PayRequest>");
HttpWebRequest oPayRequest = (HttpWebRequest)WebRequest.Create(sAPIEndpoint);
oPayRequest.Method = "POST";
byte[] array = Encoding.UTF8.GetBytes(sRequest.ToString());
oPayRequest.ContentLength = array.Length;
oPayRequest.ContentType = "text/xml;charset=utf-8";
oPayRequest.Headers.Add("X-PAYPAL-SECURITY-USERID", UserID);
oPayRequest.Headers.Add("X-PAYPAL-SECURITY-PASSWORD", Pass);
oPayRequest.Headers.Add("X-PAYPAL-SECURITY-SIGNATURE", Signature);
oPayRequest.Headers.Add("X-PAYPAL-SERVICE-VERSION", sVersion);
oPayRequest.Headers.Add("X-PAYPAL-APPLICATION-ID", sAppID);
oPayRequest.Headers.Add("X-PAYPAL-REQUEST-DATA-FORMAT", sRequestDataBinding);
oPayRequest.Headers.Add("X-PAYPAL-RESPONSE-DATA-FORMAT", sResponseDataBinding);
Stream oStream = oPayRequest.GetRequestStream();
oStream.Write(array, 0, array.Length);
oStream.Close();
HttpWebResponse oPayResponse = (HttpWebResponse)oPayRequest.GetResponse();
StreamReader oStreamReader = new StreamReader(oPayResponse.GetResponseStream());
string sResponse = oStreamReader.ReadToEnd();
oStreamReader.Close();
source
share