/**
* <描述> PayController
*
*
* @author souther
* @since version 1.0.0
* @copyright lzz
* @initialize PayController
* @date
* @log <重大修改日志,格式:YYYY-MM-DD 修改人 修改内容>
*/
const Controller = require('egg').Controller;
const fs = require('fs');
const uuid = require('uuid');
const moment = require('moment');
const AlipayHelper = require('../../helper/AlipayHelper');
module.exports = app => {
class PayController extends Controller {
/**
* 支付宝app支付
* @returns {Promise<void>}
*/
async aliAppPay() {
let body = this.ctx.request.body;
let result = new Result();
let out_trade_no = uuid.v4().replace(/-/g, '');
//请求支付宝// TotalAmount: product.discount_price,
let biz_content = {
OutTradeNo: out_trade_no,
ProductCode: 'QUICK_MSECURITY_PAY',
TotalAmount: '0.01',
Subject: 'iphone',
Body: 'iphone 13 pro red',
};
try {
let res = await AlipayHelper.appPay(biz_content);
this.ctx.body = res.replace('https://openapi.alipay.com/gateway.do?', '');
} catch (e) {
app.logger.debug('PayController aliAppPay error: ' + e);
}
}
/**
* AliApp支付通知 => 支付宝服务器通知
* @returns {Promise<void>}
*/
async aliAppPayCallback() {
let res = this.ctx.request.body;
app.logger.debug('PayController aliAppPayCallback begin: ' + JSON.stringify(res));
let date = new Date();
fs.appendFile('app/public/callback.txt', '\r' + date.toLocaleString() + '\r' + JSON.stringify(res), 'utf8', function (err) {
});
}
}
return PayController;
}
;