准备工作这里就不说了,包括签约和申请APPID,附上微信开放平台APP开发步骤,不懂的同学可以参考这里:
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5
上面的步骤很详细,这里主要说下调起支付的注意事项。按照上面文档中说的商户服务器生成支付订单,先调用统一下单API生成预付单,获取到prepay_id后将参数再次签名传输给APP发起支付。
相关代码如下:
/** * 商户服务器生成支付订单,先调用统一下单API(详见第7节)生成预付单,获取到prepay_id后将参数再次签名传输给APP发起支付。 */ //商品描述 String body = "iphone6s"; //随机字符串 String nonce_str = ResourceUtil.createRandomString(32); //通知地址 String notify_url = "http://.xylpay.sdk.pay.uikit; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * Created by Jackie on 2016/2/15. * * MD5加密 */ public class SignUtil { public static String signByMD5(String source) { byte[] bytes = null; try { MessageDigest digest = MessageDigest.getInstance("MD5"); digest.update(source.getBytes()); //更新摘要 bytes = digest.digest(); //再通过执行诸如填充之类的最终操作完成哈希计算。在调用此方法之后,摘要被重置。 } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } StringBuilder builder = new StringBuilder(bytes.length * 2); for (byte b : bytes) { /** * 0xFF默认是整形,一个byte跟0xFF相与会先将那个byte转化成整形运算 */ if ((b & 0xFF) < 0x10) { //如果为1位 前面补个0 builder.append("0"); } builder.append(Integer.toHexString(b & 0xFF)); } return builder.toString(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。