2 Commits

Author SHA1 Message Date
as2252258 4ca64c8205 eee 2025-02-17 16:26:32 +08:00
as2252258 d9dbfb3ca6 eee 2024-06-03 11:58:53 +08:00
2 changed files with 23 additions and 15 deletions
+16 -13
View File
@@ -11,12 +11,13 @@ class TransferBatches extends SmallProgram
/** /**
* @param string $transfer_scene_id
* @param array $transfer_scene_report_infos
* @param TransferDetail $detail * @param TransferDetail $detail
* @return array * @return array
* @throws
*/ */
#[ArrayShape([])] #[ArrayShape([])]
public function transfer(TransferDetail $detail): array public function transfer(string $transfer_scene_id ,array $transfer_scene_report_infos ,TransferDetail $detail): array
{ {
$payConfig = $this->getPayConfig(); $payConfig = $this->getPayConfig();
$body = []; $body = [];
@@ -25,23 +26,25 @@ class TransferBatches extends SmallProgram
} else { } else {
$body['appid'] = $payConfig->appId; $body['appid'] = $payConfig->appId;
} }
$body['out_batch_no'] = $detail->out_detail_no; $body['out_batch_no'] = $detail->out_detail_no;
$body["batch_name"] = $payConfig->getBody(); $body["batch_name"] = $payConfig->getBody();
$body["body"] = $payConfig->getBody(); $body["body"] = $payConfig->getBody();
$body["batch_remark"] = $payConfig->getBody(); $body["batch_remark"] = $payConfig->getBody();
$body["total_amount"] = $detail->transfer_amount; $body["total_amount"] = $detail->transfer_amount;
$body["total_num"] = 1; $body["total_num"] = 1;
$body["transfer_detail_list"] = [$detail->toArray()]; $body["transfer_scene_id"] = $transfer_scene_id;
$body["transfer_scene_report_infos"] = $transfer_scene_report_infos;
$body["transfer_detail_list"] = [$detail->toArray()];
$sign = $this->signature('POST', '/v3/transfer/batches', $json = json_encode($body, JSON_UNESCAPED_UNICODE)); $sign = $this->signature('POST' ,'/v3/transfer/batches' ,$json = json_encode($body ,JSON_UNESCAPED_UNICODE));
$client = $this->createClient($sign, $json); $client = $this->createClient($sign ,$json);
$client->post('/v3/transfer/batches'); $client->post('/v3/transfer/batches');
$client->close(); $client->close();
$data = json_decode($client->getBody(), TRUE); $data = json_decode($client->getBody() ,TRUE);
if (json_last_error() != JSON_ERROR_NONE) { if (json_last_error() != JSON_ERROR_NONE) {
return ['code' => $client->getStatusCode(), 'message' => $client->getBody()]; return ['code' => $client->getStatusCode() ,'message' => $client->getBody()];
} else { } else {
return $data; return $data;
} }
+7 -2
View File
@@ -142,6 +142,9 @@ class WxV3PaymentNotify extends SmallProgram
$this->notifyModel->attach = $data['attach']; $this->notifyModel->attach = $data['attach'];
$this->notifyModel->success_time = $data['success_time']; $this->notifyModel->success_time = $data['success_time'];
$this->notifyModel->promotion_detail = []; $this->notifyModel->promotion_detail = [];
if (!isset($data['promotion_detail'])) {
return true;
}
foreach ($data['promotion_detail'] as $datum) { foreach ($data['promotion_detail'] as $datum) {
$detail = new PromotionDetail(); $detail = new PromotionDetail();
$detail->amount = $datum['amount']; $detail->amount = $datum['amount'];
@@ -154,8 +157,10 @@ class WxV3PaymentNotify extends SmallProgram
$detail->currency = $datum['currency']; $detail->currency = $datum['currency'];
$detail->stock_id = $datum['stock_id']; $detail->stock_id = $datum['stock_id'];
$detail->goods_detail = []; $detail->goods_detail = [];
foreach ($datum['goods_detail'] as $value) { if (isset($data['goods_detail'])) {
$detail->goods_detail[] = new GoodsDetail($value); foreach ($datum['goods_detail'] as $value) {
$detail->goods_detail[] = new GoodsDetail($value);
}
} }
$this->notifyModel->promotion_detail[] = $detail; $this->notifyModel->promotion_detail[] = $detail;
} }