Paypal 在线支付接口Word文档格式.docx
《Paypal 在线支付接口Word文档格式.docx》由会员分享,可在线阅读,更多相关《Paypal 在线支付接口Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
![Paypal 在线支付接口Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/30/5a479d30-51be-4422-9b66-5fe4e3d6d85d/5a479d30-51be-4422-9b66-5fe4e3d6d85d1.gif)
!
DOCTYPEHTMLPUBLIC"
-//W3C//DTDHTML4.01Transitional//EN"
"
//www.w3.org/TR/html4/loose.dtd"
>
html>
head>
metahttp-equiv="
Content-Type"
content="
charset=UTF-8"
title>
gotopaypal<
/title>
/head>
bodybgcolor="
#000000"
leftmargin="
0"
topmargin="
marginwidth="
marginheight="
<
formname="
paypal"
action="
method="
post"
inputtype="
hidden"
name="
cmd"
value="
_xclick"
business"
paypal@"
--这里填写你的paypal账户email-->
item_name"
orderinformation"
--这里填写客户订单的一些相关信息,当客户连到paypal网站付款的时候将看到这些信息-->
amount"
220.00"
--订单的总金额信息-->
currency_code"
USD"
--订单总金额对应的货币类型,客户可以用其他币种来付款,比如这里订单币种是美元USD,客户可以用欧元EUR来付款,由paypal根据当前汇率自动实现币种之间的换算-->
on0"
customerId"
--自定义的参数1-->
os0"
stephen"
--对应上面自定义参数1对应的值-->
on1"
address"
--自定义的参数2-->
os1"
shanghaichina"
--对应上面自定义参数2对应的值-->
notify_url"
诉paypal付款的通信url,即当客户付款后调用这个url通知系统-->
inputname="
Paypal"
type="
button"
GotoPaypal"
onclick="
javaScript:
this.form.submit();
/td>
/form>
/body>
/html>
在生成上面的paypal表单时,其中的[cmd],[action],[business],[amount],[currency_code],[notify_url]参数设置绝对不能出错,[cmd]和[action]指定paypaly接口类型,[business]出错,你将收不到客户的付款,[amount]与[currency_code]关系到订单的金额,[notify_url]是系统与paypal的付款通知接口url。
当客户下单后看到上面的页面后,就可以通过设置的按钮[GotoPaypal]连接到网站,然后登录并进行付款。
(2)paypay将付款信息返回给系统
当客户付款后,paypal就会自动调用上面表单提供的[notify_url],下面是一个[notifyurl.jsp]的一个例子:
%@pageimport="
com.soft4j.NotifyUrlMgr"
%
Stringret=NotifyUrlMgr.insert(request);
if(ret==null){out.print("
200OK"
);
}else{out.print("
fail"
}
%
Stringret=NotifyUrlMgr.insert(request);
if(ret==null){out.print("
}
如果确认收到paypal发来的客户付款信息,则返回"
,这样子paypal就知道系统已经收到信息了;
否则返回"
,这样paypal会过一段时间后再次发来。
其实,只有当paypal收到"
的返回信息后才会停止发送付款信息,否则会自动的每隔一段时间就调用上面
的[notify_url]通信接口。
(3)系统处理paypay发来的付款信息
Java代码
/*
*Createdon2005-6-12
*Authorstephen
*EmailzhoujianqiangATgmailDOTcom
*CopyRight(C)2005-2008,Allrightsreserved.
*/
packagecom.soft4j;
importjava.sql.Connection;
importjava.sql.SQLException;
importjava.util.Enumeration;
importjava.util.Vector;
importjavax.servlet.http.HttpServletRequest;
/**
*paypal付款通知接口.
*
*@authorstephen
*@version1.0.0
publicfinalclassNotifyUrlMgr{
publicstaticStringinsert(HttpServletRequesthttpRequest){
//定义变量和进行必要的初始化工作
EnumerationparameterNames=null;
StringparameterName=null;
StringparameterValue=null;
intcount=0;
Vector[]params=null;
VectorvParameterName=newVector();
VectorvParameterValue=newVector();
//判断paypal付款账户是否正确
Stringbusiness=httpRequest.getParameter("
if(!
.equals(business)){
System.out.println("
gu:
Wrongreceivepaypalemail:
+business);
returnnull;
}
try{
StringorderId=httpRequest.getParameter("
order_id"
//订单号
if(orderId==null||"
.equals(orderId))orderId="
-1"
;
parameterNames=httpRequest.getParameterNames();
booleanisPrint=false;
while(parameterNames.hasMoreElements()){//循环收取paypal发来的所有参数信息
parameterName=(String)parameterNames.nextElement();
parameterValue=httpRequest.getParameter(parameterName);
if(parameterValue==null)parameterValue="
vParameterName.add(parameterName);
vParameterValue.add(parameterValue);
count++;
//这里添加对收到信息的处理:
一般是将这些信息存入数据库,然后对客户的订单进行处理.
}catch(Exceptione){
returne.toString();
}finally{
//
/*
*Createdon2005-6-12
*Authorstephen
*EmailzhoujianqiangATgmailDOTcom
*CopyRight(C)2005-2008,Allrightsreserved.
*/
/**
*paypal付款通知接口.
*@authorstephen
*@version1.0.0
publicfinalclassNotifyUrlMgr{
publicstaticStringinsert(HttpServletRequesthttpRequest){
//定义变量和进行必要的初始化工作
//判断paypal付款账户是否正确
.equals(business)){
}
try{
//订单号
while(parameterNames.hasMoreElements()){//循环收取paypal发来的所有参数信息
一般是将这些信息存入数据库,然后对客户的订单进行处理.
}catch(Exceptione){
}finally{
//
这样系统可以自动对客户订单的付款情况进行跟踪,更快捷的进行订单处理。
附录:
[1]paypay允许的币种
AUDAustralianDollar
CADCanadianDollar
CHFSwissFranc
CZKCzechKoruna
DKKDanishKrone
EUREuro
GBPPoundSterling
HKDHongKongDollar
HUFHungarianForint
JPYJapaneseYen
NOKNorwegianKrone
NZDNewZealandDollar
PLNPolishZloty
SEKSwedishKrona
SGDSingaporeDollar
USDU.S.Dollar
[2]paypal付款信息的参数含义:
[3]paypal提供的开发api的pdf文档
PP_OrderManagement_IntegrationGuide.pdf.zip[在附件中可以下载]
[4]paypal提交付款所支持的参数及其含义(也就是你提交给paypal中的那个Form表单中需要设置的参数)
[5]paypal显示页面的语言设置(也就是打开paypal网站的语言)。
需要用参数locale.x进行设置,但这个参数在paypal提供的参数表(参见上面[4])中没有的。
...
...
locale.x=zh_HK繁体中文
locale.x=en_GB英文
以下网上收集,作为参考:
formtarget="
method=