Java 在android中使用Pay key从paypal获取交易详细信息
我正在将paypal集成到我的应用程序中,一切正常。现在我想在我的android中获得paypal的所有交易详细信息,因此使用paykey我尝试编写一个代码。我获取交易详细信息的代码如下:Java 在android中使用Pay key从paypal获取交易详细信息,java,android,android-widget,android-ndk,android-manifest,Java,Android,Android Widget,Android Ndk,Android Manifest,我正在将paypal集成到我的应用程序中,一切正常。现在我想在我的android中获得paypal的所有交易详细信息,因此使用paykey我尝试编写一个代码。我获取交易详细信息的代码如下: if(resultTitle == "SUCCESS") { try{ HttpClient httpclient = new DefaultHttpClient(); HttpPost httppos
if(resultTitle == "SUCCESS")
{
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = null;
httppost = new HttpPost("https://svcs.sandbox.paypal.com/AdaptivePayments/PaymentDetails");
httppost.setHeader("Content-Type", "application/x-www-form-urlencoded");
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("X-PAYPAL-SECURITY-USERID", "parth_1325956186_biz_api1.bcod.co.in"));
nameValuePairs.add(new BasicNameValuePair("X-PAYPAL-SECURITY-PASSWORD", "334367211"));
nameValuePairs.add(new BasicNameValuePair("X-PAYPAL-SECURITY-SIGNATURE", "An5ns1Kso7MUDHR4ErQKJJJ4qi4-AI0T5BBCHc3gWzBV9Q81jcP6LFD6"));
nameValuePairs.add(new BasicNameValuePair("X-PAYPAL-APPLICATION-ID", "APP-80W284485P519543T"));
nameValuePairs.add(new BasicNameValuePair("X-PAYPAL-REQUEST-DATA-FORMAT", "nv"));
nameValuePairs.add(new BasicNameValuePair("X-PAYPAL-RESPONSE-DATA-FORMAT", "nv"));
nameValuePairs.add(new BasicNameValuePair("payKey", resultExtra));
nameValuePairs.add(new BasicNameValuePair("requestEnvelope.errorLanguage", "en_US"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
byte[] data1;
data1 = new byte[256];
buffer = new StringBuffer();
int len = 0;
while (-1 != (len = is.read(data1)) )
{
buffer.append(new String(data1, 0, len));
}
Log.e("log_tag",""+buffer.toString());
//Make the comparison case-insensitive.
is.close();
}catch(Exception e)
{
Log.e("","error "+ e );
}
Log.e("","resultExtra "+ resultExtra );
Intent go = new Intent(getBaseContext(),membership_pack_clear.class);
startActivity(go);
finish();
}
if(resultitle==“SUCCESS”)
{
试一试{
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=null;
httppost=新的httppost(“https://svcs.sandbox.paypal.com/AdaptivePayments/PaymentDetails");
setHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
//添加您的数据
List nameValuePairs=新的ArrayList();
添加(新的BasicNameValuePair(“X-PAYPAL-SECURITY-USERID”,“parth_1325956186_biz_api1.bcod.co.in”);
添加(新的BasicNameValuePair(“X-PAYPAL-SECURITY-PASSWORD”,“334367211”);
添加(新的基本名称对(“X-PAYPAL-SECURITY-SIGNATURE”、“An5ns1Kso7MUDHR4ErQKJJJ4qi4-AI0T5BBCC3GWZBV9Q81JCP6LFD6”);
添加(新的BasicNameValuePair(“X-PAYPAL-APPLICATION-ID”、“APP-80W284485P519543T”);
添加(新的BasicNameValuePair(“X-PAYPAL-REQUEST-DATA-FORMAT”、“nv”);
添加(新的BasicNameValuePair(“X-PAYPAL-RESPONSE-DATA-FORMAT”,“nv”));
添加(新的BasicNameValuePair(“payKey”,ResultTextRA));
添加(新的BasicNameValuePair(“requestEnvelope.errorLanguage”,“en_US”);
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
HttpResponse response=httpclient.execute(httppost);
HttpEntity=response.getEntity();
InputStream=entity.getContent();
字节[]数据1;
data1=新字节[256];
buffer=新的StringBuffer();
int len=0;
而(-1!=(len=is.read(data1)))
{
append(新字符串(data1,0,len));
}
Log.e(“Log_标记”,“+buffer.toString());
//使比较不区分大小写。
is.close();
}捕获(例外e)
{
Log.e(“,”error“+e);
}
Log.e(“,”resultExtra“+resultExtra”);
Intent go=newintent(getBaseContext(),成员资格\u pack\u clear.class);
星触觉(go);
完成();
}
我从他们那里得到了如下回应
<?xml version='1.0' encoding='UTF-8'?>
<ns3:FaultMessage xmlns:ns3="http://svcs.paypal.com/types/common" xmlns:ns2="http://svcs.paypal.com/types/ap">
<responseEnvelope><timestamp>2012-01-09T05:16:35.886-08:00</timestamp>
<ack>Failure</ack>
<correlationId>aa06daf9a0985</correlationId>
<build>2279004</build>
</responseEnvelope><error><errorId>520003</errorId>
<domain>PLATFORM</domain>
<subdomain>Application</subdomain>
<severity>Error</severity>
<category>Application</category>
<message>Authentication failed. API credentials are incorrect.</message>
</error></ns3:FaultMessage>
2012-01-09T05:16:35.886-08:00
失败
aa06daf9a0985
2279004
520003
平台
应用
错误
应用
身份验证失败。API凭据不正确。
有谁能帮我解释为什么会出现这个错误,或者有谁能给我举个例子说明如何从paypal获取交易详细信息。请求支付详细信息的正确方法是:
httppost.setHeader("X-PAYPAL-SECURITY-USERID", "parth_1325956186_biz_api1.bcod.co.in");
httppost.setHeader("X-PAYPAL-SECURITY-PASSWORD", "334367211");
httppost.setHeader("X-PAYPAL-SECURITY-SIGNATURE", "An5ns1Kso7MUDHR4ErQKJJJ4qi4-AI0T5BBCHc3gWzBV9Q81jcP6LFD6");
httppost.setHeader("X-PAYPAL-APPLICATION-ID", "APP-80W284485P519543T");
httppost.setHeader("X-PAYPAL-REQUEST-DATA-FORMAT", "NV");
httppost.setHeader("X-PAYPAL-RESPONSE-DATA-FORMAT", "NV");
要设置正文内容,请使用:
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("payKey", "AP-4DJ54615WA356150J"));
nameValuePairs.add(new BasicNameValuePair("requestEnvelope.errorLanguage", "en_US"));
List nameValuePairs=new ArrayList();
添加(新的BasicNameValuePair(“payKey”、“AP-4DJ54615WA356150J”);
添加(新的BasicNameValuePair(“requestEnvelope.errorLanguage”,“en_US”);
然后正常执行。我面临着同样的问题,在每个paypal网站和文档中,在获得paykey后,您可以实现许多功能,如1-即时付款通知2-paypal交易详细信息3-退款,但如何实现?请建议如何通过paykey获取交易详细信息。