diff --git a/backend/app/__pycache__/alipay_provider.cpython-313.pyc b/backend/app/__pycache__/alipay_provider.cpython-313.pyc index 5ab7717..e7034d2 100644 Binary files a/backend/app/__pycache__/alipay_provider.cpython-313.pyc and b/backend/app/__pycache__/alipay_provider.cpython-313.pyc differ diff --git a/backend/app/__pycache__/main.cpython-313.pyc b/backend/app/__pycache__/main.cpython-313.pyc index ef62d60..b583da3 100644 Binary files a/backend/app/__pycache__/main.cpython-313.pyc and b/backend/app/__pycache__/main.cpython-313.pyc differ diff --git a/backend/app/alipay_provider.py b/backend/app/alipay_provider.py index 22e119e..1a4b65f 100644 --- a/backend/app/alipay_provider.py +++ b/backend/app/alipay_provider.py @@ -259,6 +259,7 @@ def _provider_error_from_exception(exc: Exception) -> AlipayTransferError | None def transfer(*, out_biz_no: str, amount_fen: int, account: str, payee_name: str, order_title: str) -> dict: from alipay.aop.api.domain.AlipayFundTransUniTransferModel import AlipayFundTransUniTransferModel from alipay.aop.api.domain.Participant import Participant + from alipay.aop.api.domain.TransferSceneReportInfo import TransferSceneReportInfo from alipay.aop.api.request.AlipayFundTransUniTransferRequest import AlipayFundTransUniTransferRequest model = AlipayFundTransUniTransferModel() @@ -267,6 +268,13 @@ def transfer(*, out_biz_no: str, amount_fen: int, account: str, payee_name: str, model.product_code = "TRANS_ACCOUNT_NO_PWD" model.biz_scene = "DIRECT_TRANSFER" model.transfer_scene_name = settings.alipay_transfer_scene_name + business_name = TransferSceneReportInfo() + business_name.info_type = "业务名称" + business_name.info_content = "问大家问答任务" + business_description = TransferSceneReportInfo() + business_description.info_type = "业务描述" + business_description.info_content = f"用户完成问答任务后发放任务报酬,关联业务:{order_title}"[:100] + model.transfer_scene_report_infos = [business_name, business_description] model.order_title = order_title[:128] payee = Participant() payee.identity = account diff --git a/backend/app/main.py b/backend/app/main.py index 595d155..116b8a8 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -3753,7 +3753,7 @@ def _perform_alipay_refund(db: Session, record, kind: str, user: AdminUser, paye amount_fen=amount_fen, account=identity["alipay_account"], payee_name=identity["payee_name"], - order_title=f"问大家任务返款-{record.id}", + order_title=f"问大家任务报酬-{record.id}", ) except AlipayTransferError as exc: order = db.get(AlipayRefundOrder, order.id) diff --git a/backend/tests/__pycache__/test_alipay_provider.cpython-313-pytest-9.1.1.pyc b/backend/tests/__pycache__/test_alipay_provider.cpython-313-pytest-9.1.1.pyc index d69700f..8878b59 100644 Binary files a/backend/tests/__pycache__/test_alipay_provider.cpython-313-pytest-9.1.1.pyc and b/backend/tests/__pycache__/test_alipay_provider.cpython-313-pytest-9.1.1.pyc differ diff --git a/backend/tests/test_alipay_provider.py b/backend/tests/test_alipay_provider.py index dc6d46d..dfa9bac 100644 --- a/backend/tests/test_alipay_provider.py +++ b/backend/tests/test_alipay_provider.py @@ -39,6 +39,13 @@ def test_transfer_parses_official_sdk_json_response(monkeypatch): assert result == {"out_biz_no": "RF001", "trade_no": "ALI001", "status": "SUCCESS"} biz_content = json.loads(client.params["biz_content"]) assert biz_content["transfer_scene_name"] == "佣金报酬" + assert biz_content["transfer_scene_report_infos"] == [ + {"info_content": "问大家问答任务", "info_type": "业务名称"}, + { + "info_content": "用户完成问答任务后发放任务报酬,关联业务:测试返款", + "info_type": "业务描述", + }, + ] def test_transfer_preserves_provider_business_error(monkeypatch):