首页 > 代码库 > 2016/11/8

2016/11/8

1.synchronized的用法

1  public synchronized static String getOrderNum(){
2         Date date=new Date();
3         DateFormat df=new SimpleDateFormat("yyyyMMddHHmmssSSS");
4         return df.format(date);
5     }

方法声明时使用,放在范围操作符(public等)之后,返回类型声明(void等)之前.这时,线程获得的是成员锁,即一次只能有一个线程进入该方法,

其他线程要想在此时调用该方法,只能排队等候,当前线程(就是在synchronized方法内部的线程)执行完该方法后,别的线程才能进入.

2.APP集成支付宝支付接口

  (1)分析

  前提:获取APPID,配置密钥(不再赘述)

  集成:以安卓为例,接入移动支付需要集成两个SDK,客户端和服务端

    客户端SDK:需要集成在自己的APP中,用于唤起支付宝APP 并发送交易数据,并获得支付结果 链接:https://doc.open.alipay.com/doc2/detail.htm?treeId=204&articleId=105296&docType=1

    服务端SDK:需要集成在自己的服务端系统中,用于协助解析并验证客户端同步返回的支付结果和异步通知 链接:https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType=1

  使用前:需要配置通用接入参数,

    APP_ID,APP_PRIVATE_KEY,CHARSET,ALIPAY_PUBLIC_KEY

  使用:这里只叙述服务端的职能

  安卓端会首先调用后台,传递三个参数(订单id,订单的金额,订单的支付方式)。后台接受接收到请求后,返回签名后的订单信息(接收到返回值后,安卓端会调用支付宝客户端SDK,发送支付请求,并接受支付接口返回值结果)

  安卓端会请求后台,同步支付结果、验签。后台则需要调用验证接口,验证同步结果数据。并将最终的支付结果返回给安卓端。

  最后,用户在支付宝APP或H5收银台完成支付后,会根据商户在手机网站支付API中传入的前台回跳地址return_url自动跳转回商户页面,同时在URL请求中附带上支付结果参数。同时,支付宝还会根据原始支付API中传入的异步通知地址notify_url,通过POST请求的形式将支付结果作为参数通知到商户系统。

2016/11/8