3 Commits

Author SHA1 Message Date
as2252258 24655a4644 eee 2025-02-18 09:09:32 +08:00
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 29 additions and 17 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
* @return array
* @throws
*/
#[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();
$body = [];
@@ -25,23 +26,25 @@ class TransferBatches extends SmallProgram
} else {
$body['appid'] = $payConfig->appId;
}
$body['out_batch_no'] = $detail->out_detail_no;
$body["batch_name"] = $payConfig->getBody();
$body["body"] = $payConfig->getBody();
$body["batch_remark"] = $payConfig->getBody();
$body["total_amount"] = $detail->transfer_amount;
$body["total_num"] = 1;
$body["transfer_detail_list"] = [$detail->toArray()];
$body['out_batch_no'] = $detail->out_detail_no;
$body["batch_name"] = $payConfig->getBody();
$body["body"] = $payConfig->getBody();
$body["batch_remark"] = $payConfig->getBody();
$body["total_amount"] = $detail->transfer_amount;
$body["total_num"] = 1;
$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->close();
$data = json_decode($client->getBody(), TRUE);
$data = json_decode($client->getBody() ,TRUE);
if (json_last_error() != JSON_ERROR_NONE) {
return ['code' => $client->getStatusCode(), 'message' => $client->getBody()];
return ['code' => $client->getStatusCode() ,'message' => $client->getBody()];
} else {
return $data;
}
+13 -4
View File
@@ -63,10 +63,14 @@ class WxV3PaymentNotify extends SmallProgram
$this->lineFeed($inWechatpayTimestamp, $inWechatpayNonce, $inBody),
$inWechatpaySignature,
$platformPublicKeyInstance);
$this->decode($this->resource['ciphertext'], $this->resource['nonce'], $this->resource['associated_data']);
if (!$timeOffsetStatus || !$verifiedStatus) {
return false;
} else {
return true;
}
return $this->decode($this->resource['ciphertext'], $this->resource['nonce'], $this->resource['associated_data']);
}
@@ -142,6 +146,9 @@ class WxV3PaymentNotify extends SmallProgram
$this->notifyModel->attach = $data['attach'];
$this->notifyModel->success_time = $data['success_time'];
$this->notifyModel->promotion_detail = [];
if (!isset($data['promotion_detail'])) {
return true;
}
foreach ($data['promotion_detail'] as $datum) {
$detail = new PromotionDetail();
$detail->amount = $datum['amount'];
@@ -154,8 +161,10 @@ class WxV3PaymentNotify extends SmallProgram
$detail->currency = $datum['currency'];
$detail->stock_id = $datum['stock_id'];
$detail->goods_detail = [];
foreach ($datum['goods_detail'] as $value) {
$detail->goods_detail[] = new GoodsDetail($value);
if (isset($data['goods_detail'])) {
foreach ($datum['goods_detail'] as $value) {
$detail->goods_detail[] = new GoodsDetail($value);
}
}
$this->notifyModel->promotion_detail[] = $detail;
}
@@ -163,4 +172,4 @@ class WxV3PaymentNotify extends SmallProgram
}
}
}