java支付宝服务端开发

行走的歌声 2017-09-25 02:46:12
@RestController  
@RequestMapping("/payment")
public class PaymentController {
// 支付宝重要参数
private static String APP_ID = "";
private static String APP_PRIVATE_KEY = "";
private static String CHARSET = "utf-8";
private static String ALIPAY_PUBLIC_KEY = "";

/**
* 对支付宝支付信息进行签名
*
* @param info
* 数据类
* @return
* @throws AlipayApiException
* @throws UnsupportedEncodingException
*/
@PostMapping("/sign")
public Object sign(@RequestBody SignInfo info) throws AlipayApiException, UnsupportedEncodingException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String appID = APP_ID;
String bizContent = toJson(info.Content);
String charset = CHARSET;
String method = "alipay.trade.app.pay";
String signType = "RSA";
String timestamp = sdf.format(new Date());
String version = "1.0";
String notify_url = "https://pay.ytbapp.com/payment/notify";// 增加支付异步通知回调,记住上下notify_url的位置,全在sign_type之前,很重要,同样放在最后都不行
String content = "app_id=" + appID + "&biz_content=" + bizContent + "&charset=" + charset + "&method=" + method
+ "¬ify_url=" + (notify_url) + "&sign_type=" + signType + "×tamp=" + timestamp + "&version="
+ version;

String sign = AlipaySignature.rsaSign(content, APP_PRIVATE_KEY, charset);

return "{\"Result\": \"app_id=" + encode(appID) + "&biz_content=" + encode(bizContent) + "&charset="
+ encode(charset) + "&method=" + encode(method) + "¬ify_url=" + encode(notify_url) + "&sign_type="
+ encode(signType) + "×tamp=" + encode(timestamp) + "&version=" + encode(version) + "&sign="
+ encode(sign) + "\"}";
}

private String encode(String sign) throws UnsupportedEncodingException {
return URLEncoder.encode(sign, "utf-8").replace("+", "%20");
}

private String toJson(BizContent content) {
String context = "";
context += "{" + "\"timeout_express\":\"" + content.timeout_express + "\"," + "\"seller_id\":\""
+ content.seller_id + "\"," + "\"product_code\":\"" + content.product_code + "\","
+ "\"total_amount\":\"" + content.total_amount + "\"," + "\"subject\":\"" + content.subject + "\","
+ "\"body\":\"" + content.body + "\"," + "\"out_trade_no\":\"" + content.out_trade_no + "\"}";

return context;
}

我想请问这里return为什么是json格式的一串内容

这样就导致报错说我没有给他定义result
...全文
232 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
annkee058 2017-09-25
  • 打赏
  • 举报
回复

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧