• rishiravi1.3959884063722622E12
  • NEWBIE
  • 0 Points
  • Member since 2014

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 0
    Questions
  • 1
    Replies
Hi All,

I need to do payment from salesforce to paypal by using doDirectPayment method , in the i am getting Expception 'The element type "p" must be terminated by the matching end-tag "</p>".' I get the respponse in following form :'<HTML><HEAD>
<TITLE>Invalid URL</TITLE>
</HEAD><BODY>
<H1>Invalid URL</H1>
The requested URL "&#47;2&#46;0", is invalid.<p>
Reference&#32;&#35;9&#46;1ce0fc7d&#46;1387534802&#46;12140fd8
</BODY></HTML>'

please let me know where is the problem .The method written by me to for payment is :
"
public String doDirectPayment()
  {
   
    Http h = new Http();
    HttpRequest req = new HttpRequest();
  //String url = 'https://api-3t.sandbox.paypal.com/2.0';
    String url = 'https://api-3t.sandbox.paypal.com/2.0';
    string un = 'ksingh2-facilitator_api1.astreait.com';
    string pw = '1386759617';
    string sig = 'AFcWxV21C7fd0v3bYYYRCpSSRl31AeW1L0989VvCKlBMtw6BBk5qEslE';
   
   
    String doDirectRequest;
    doDirectRequest =  '<soap:Envelope xmlns:soap=' + '\"' + 'http://schemas.xmlsoap.org/soap/envelope/'  + '\"' + ' xmlns:xsi=' + '\"'+ 'http://www.w3.org/2001/XMLSchema-instance'  + '\"' + ' xmlns:xsd=' + '\"'+ 'http://www.w3.org/2001/XMLSchema' + '\"' + '>';
    doDirectRequest += '<soap:Header><RequesterCredentials xmlns="urn:ebay:api:PayPalAPI"><Credentials xmlns="urn:ebay:apis:eBLBaseComponents">';
    doDirectRequest += '<Username>' + un + '</Username><ebl:Password xmlns:ebl="urn:ebay:apis:eBLBaseComponents">' + pw;
    doDirectRequest += '</ebl:Password><Signature>' + sig + '</Signature>';
    doDirectRequest += '</Credentials></RequesterCredentials></soap:Header><soap:Body><DoDirectPaymentReq xmlns="urn:ebay:api:PayPalAPI">';
    doDirectRequest += '<DoDirectPaymentRequest><Version xmlns="urn:ebay:apis:eBLBaseComponents">1.00</Version>';
    doDirectRequest += '<DoDirectPaymentRequestDetails xmlns="urn:ebay:apis:eBLBaseComponents">';
    doDirectRequest += '<PaymentAction>Sale</PaymentAction><PaymentDetails><OrderTotal currencyID="USD">' + amount + '</OrderTotal>';
    doDirectRequest += '<ShipToAddress><Name>' + FirstName + ' ' + LastName + '</Name><Street1>' + Addy1 + '</Street1><Street2>' +Addy2 + '</Street2>';
    doDirectRequest += '<CityName>' + city + '</CityName><StateOrProvince>' + state + '</StateOrProvince><PostalCode>' + zip + '</PostalCode>';
    doDirectRequest += '<Country>' + country + '</Country></ShipToAddress>';
    doDirectRequest += '</PaymentDetails><CreditCard><CreditCardType>' + CardType + '</CreditCardType><CreditCardNumber>' + CardNo + '</CreditCardNumber>';
    doDirectRequest += '<ExpMonth>' + expMo + '</ExpMonth><ExpYear>' + expYe + '</ExpYear><CardOwner><PayerStatus>verified</PayerStatus>';
    doDirectRequest += '<PayerName><FirstName>' + FirstName+ '</FirstName><LastName>' + LastName + '</LastName></PayerName><PayerCountry>' + country + '</PayerCountry>';
    doDirectRequest += '<Address><Street1>' + Addy1 + '</Street1><Street2>' + Addy2 + '</Street2><CityName>' + city + '</CityName>';
    doDirectRequest += '<StateOrProvince>' + state + '</StateOrProvince><Country>' + country + '</Country><PostalCode>' + zip + '</PostalCode></Address>';
    doDirectRequest += '</CardOwner><CVV2>' + CVV + '</CVV2></CreditCard></DoDirectPaymentRequestDetails>';
    doDirectRequest += '</DoDirectPaymentRequest></DoDirectPaymentReq></soap:Body></soap:Envelope>';
    System.debug('---------------'+doDirectRequest );
    req.setBody(doDirectRequest);
   
    req.setEndpoint(url);
    req.setMethod('POST');
    req.setHeader('Content-length', '1753' );
    req.setHeader('Content-Type', 'text/xml;charset=UTF-8');
    req.setHeader('SOAPAction','');
    req.setHeader('Host','api-aa.sandbox.paypal.com');
    HttpResponse res = h.send(req);
    String xml = res.getBody();
    System.debug('xml----------------------'+xml);
    rawResponse = xml;
    system.debug('::' + rawResponse);
    XmlStreamReader reader = res.getXmlStreamReader();
    result = readXMLResponse(reader,'Ack');
    reader = res.getXmlStreamReader();
    err = readXMLResponse(reader, 'LongMessage');
   
    if (result == 'Success')
    {
      reader = res.getXmlStreamReader();
      transid = readXMLResponse(reader, 'TransactionID');
        system.debug('::' + transid );
    }
    else
    {
      result = err;
   }
   return result;
}

"