WechatPay.php 999 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace addons\YunfastPay\common\services\pays\order;
  3. use addons\YunfastPay\common\services\pays\PayAbstract;
  4. use addons\YunfastPay\common\services\trans\nocash\WechatPayTrans;
  5. use Yii;
  6. use yii\helpers\Json;
  7. /**
  8. * 公众号支付
  9. * @package addons\YunfastPay\common\services\pays\order
  10. */
  11. class WechatPay extends PayAbstract
  12. {
  13. /**
  14. * @return WechatPayTrans
  15. */
  16. public function getTrans()
  17. {
  18. $trade = $this->pay->getTrade();
  19. $openid = $this->pay->getOpenid();
  20. $app_id = Yii::$app->services->setting->mall->get($this->pay->mall_id, 'wechat.app_id');
  21. return new WechatPayTrans(
  22. $trade->out_trade_no,
  23. $trade->pay_fee,
  24. $app_id,
  25. $openid,
  26. $trade->title
  27. );
  28. }
  29. public function getPayData(array $result)
  30. {
  31. $result = Json::decode($result['qrData']);
  32. $result['timestamp'] = $result['timeStamp'];
  33. return $result;
  34. }
  35. }