3558关注13375浏览
以下是代码
namespace app\api\service;
use app\api\model\Order as OrderModel;
use app\lib\enum\OrderStatusEnum;
use app\lib\exception\OrderException;
use app\lib\exception\TokenException;
use think\Exception;
use think\Loader;
use think\Log;
Loader::import('WxPay.WxPay', EXTEND_PATH, '.Api.php');
class Pay
{
private $orderNo;
private $orderID;
function __construct($orderID)
{
if (!$orderID)
{
throw new Exception('订单号不允许为NULL');
}
$this->orderID = $orderID;
}
public function pay()
{
$this->checkOrderValid();
$order = new Order(); //这里是service的 Order
$status = $order->checkOrderStock($this->orderID);
if (!$status['pass'])
{
return $status;
}
return $this->makeWxPreOrder($status['orderPrice']);
}
// 构建微信支付订单信息
private function makeWxPreOrder($totalPrice)
{
$openid = Token::getCurrentTokenVar('openid');
if (!$openid)
{
throw new TokenException();
}
$wxOrderData = new \WxPayUnifiedOrder();
$wxOrderData->SetOut_trade_no($this->orderNo); //订单号
$wxOrderData->SetTrade_type('JSAPI'); //交易类型
$wxOrderData->SetTotal_fee($totalPrice * 100); //金额
$wxOrderData->SetBody('测试');  
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
ajavaf
14人对此回答表示赞同
谢谢,我用的是个人小程序的appid,不是企业的,支付的信息填的是企业的.
展开140回复分享发布于 5年前评论(0)
收起评论
-
Aksel凉凉
8人对此回答表示赞同
你的appid确认是小程序的appid吗?建议你搜索关键词“appid和openid不匹配”看看往期开发者的问题反馈,再逐一排查
展开80回复分享发布于 5年前评论(0)
收起评论
-
猪丫头
3人对此回答表示赞同
小程序开发者工具--项目管理--新建项目--appid填写公司的小程序appid,后台同时根据公司appid获取openid。
展开30回复分享发布于 5年前评论(0)
收起评论