第一次微信支付接入,吐血,记录一下。
简单的支付,不涉及退款等更多操作
需要准备的参数:
- appid:商家平台ID。在微信的平台上有
- body:商品描述。
- mch_id:商户ID。在微信的平台上有
- nonce_str:随机字符串,UUID就好了。
- out_trade_no:商户订单号
- spbill_create_ip:终端IP。这个可以从请求头中拿到
- total_fee:支付金额。单位是分。
- trade_type:交易类型。这里我填JSAPI
- notify_url:通知地址。就是用户支付成功之后,微信访问你的哪个接口,跟你传递支付成功的相关信息。
pom.xml
首先导入微信支付sdk
<!--wxpay-sdk-->
<dependency>
<groupId>com.github.wxpay</groupId>
<artifactId>wxpay-sdk</artifactId>
<version>0.0.3</version>
</dependency>
配置OurWxPayConfig
实现sdk的WXPayConfig ,主要配置appid,商户号,秘钥
import com.github.wxpay.sdk.WXPayConfig;
import org.springframework.context.annotation.Configuration;
import java.io.InputStream;
/** 配置我们自己的信息 */
@Configuration
public class OurWxPayConfig implements WXPayConfig {
/** 设置我们自己的appid
* 商户号
* 秘钥
* */
@Override
public String getAppID() {
return "*****************";
}
@Override
public String getMchID() {
return "*********";
}
@Override
public String getKey() {
return "***********";
}
@Override
public InputStream getCertStream() {
return null;
}
@Override
public int getHttpConnectTimeoutMs() {
return 0;
}
@Override
public int getHttpReadTimeoutMs() {
return 0;
}
}
Controller层
传入订单Id,数据以json串返回给app前端
@RequestMapping("/wxpay"