转账请求新增 transfer_scene_report_infos
This commit is contained in:
parent
8f07b6bcf1
commit
fa3517afbb
Binary file not shown.
Binary file not shown.
@ -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:
|
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.AlipayFundTransUniTransferModel import AlipayFundTransUniTransferModel
|
||||||
from alipay.aop.api.domain.Participant import Participant
|
from alipay.aop.api.domain.Participant import Participant
|
||||||
|
from alipay.aop.api.domain.TransferSceneReportInfo import TransferSceneReportInfo
|
||||||
from alipay.aop.api.request.AlipayFundTransUniTransferRequest import AlipayFundTransUniTransferRequest
|
from alipay.aop.api.request.AlipayFundTransUniTransferRequest import AlipayFundTransUniTransferRequest
|
||||||
|
|
||||||
model = AlipayFundTransUniTransferModel()
|
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.product_code = "TRANS_ACCOUNT_NO_PWD"
|
||||||
model.biz_scene = "DIRECT_TRANSFER"
|
model.biz_scene = "DIRECT_TRANSFER"
|
||||||
model.transfer_scene_name = settings.alipay_transfer_scene_name
|
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]
|
model.order_title = order_title[:128]
|
||||||
payee = Participant()
|
payee = Participant()
|
||||||
payee.identity = account
|
payee.identity = account
|
||||||
|
|||||||
@ -3753,7 +3753,7 @@ def _perform_alipay_refund(db: Session, record, kind: str, user: AdminUser, paye
|
|||||||
amount_fen=amount_fen,
|
amount_fen=amount_fen,
|
||||||
account=identity["alipay_account"],
|
account=identity["alipay_account"],
|
||||||
payee_name=identity["payee_name"],
|
payee_name=identity["payee_name"],
|
||||||
order_title=f"问大家任务返款-{record.id}",
|
order_title=f"问大家任务报酬-{record.id}",
|
||||||
)
|
)
|
||||||
except AlipayTransferError as exc:
|
except AlipayTransferError as exc:
|
||||||
order = db.get(AlipayRefundOrder, order.id)
|
order = db.get(AlipayRefundOrder, order.id)
|
||||||
|
|||||||
Binary file not shown.
@ -39,6 +39,13 @@ def test_transfer_parses_official_sdk_json_response(monkeypatch):
|
|||||||
assert result == {"out_biz_no": "RF001", "trade_no": "ALI001", "status": "SUCCESS"}
|
assert result == {"out_biz_no": "RF001", "trade_no": "ALI001", "status": "SUCCESS"}
|
||||||
biz_content = json.loads(client.params["biz_content"])
|
biz_content = json.loads(client.params["biz_content"])
|
||||||
assert biz_content["transfer_scene_name"] == "佣金报酬"
|
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):
|
def test_transfer_preserves_provider_business_error(monkeypatch):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user