chore(brand): 统一将品牌名从雄戈小酒更改为橙虎小酒 - 更新alisms插件配置中的签名值 - 修改shopro插件中所有SQL脚本的品牌名称引用 - 更新商城配置、商品分类、演示数据中的品牌名称 - 替换后台登录页面的品牌标识 - 更新汇付分账配置中的媒介名称 - 修改登录预览生成脚本中的品牌显示 ```
363 行
22 KiB
Python
363 行
22 KiB
Python
# -*- coding: utf-8 -*-
|
||
"""生成汇付分账相关 Word 文档"""
|
||
from pathlib import Path
|
||
|
||
from docx import Document
|
||
from docx.enum.text import WD_ALIGN_PARAGRAPH, WD_LINE_SPACING
|
||
from docx.oxml.ns import qn
|
||
from docx.shared import Cm, Pt
|
||
|
||
DOCS_DIR = Path(__file__).parent
|
||
|
||
# 甲方(平台)信息 — 修改此处后重新运行脚本即可
|
||
COMPANY = {
|
||
"name": "贵州宥川商贸有限公司",
|
||
"credit_code": "91520402MAKD45F14Y",
|
||
"huifu_id": "6666000237529347",
|
||
"legal_person": "周成",
|
||
"address": "贵州省织金县实兴乡上坝村周家寨组",
|
||
"phone": "13368531489",
|
||
"sign_place": "贵州省织金县",
|
||
"miniprogram": "橙虎小酒",
|
||
}
|
||
|
||
|
||
def output_paths():
|
||
suffix = COMPANY["name"]
|
||
return (
|
||
DOCS_DIR / f"多方分账业务合作协议-{suffix}.docx",
|
||
DOCS_DIR / f"汇付分账40%申请填写说明-{suffix}.docx",
|
||
)
|
||
|
||
|
||
def set_run_font(run, name="宋体", size=12, bold=False):
|
||
run.font.name = name
|
||
run._element.rPr.rFonts.set(qn("w:eastAsia"), name)
|
||
run.font.size = Pt(size)
|
||
run.font.bold = bold
|
||
|
||
|
||
def add_para(doc, text, align=WD_ALIGN_PARAGRAPH.JUSTIFY, size=12, bold=False, space_after=6, first_line_indent=None):
|
||
p = doc.add_paragraph()
|
||
p.alignment = align
|
||
p.paragraph_format.line_spacing_rule = WD_LINE_SPACING.ONE_POINT_FIVE
|
||
p.paragraph_format.space_after = Pt(space_after)
|
||
if first_line_indent is not None:
|
||
p.paragraph_format.first_line_indent = Cm(first_line_indent)
|
||
run = p.add_run(text)
|
||
set_run_font(run, size=size, bold=bold)
|
||
return p
|
||
|
||
|
||
def add_heading_text(doc, text, level=1):
|
||
sizes = {1: 16, 2: 14, 3: 12}
|
||
add_para(
|
||
doc,
|
||
text,
|
||
align=WD_ALIGN_PARAGRAPH.CENTER if level == 1 else WD_ALIGN_PARAGRAPH.LEFT,
|
||
size=sizes.get(level, 12),
|
||
bold=True,
|
||
space_after=10,
|
||
)
|
||
|
||
|
||
def add_info_table(doc, rows):
|
||
table = doc.add_table(rows=len(rows), cols=2)
|
||
table.style = "Table Grid"
|
||
for i, (k, v) in enumerate(rows):
|
||
table.rows[i].cells[0].text = k
|
||
table.rows[i].cells[1].text = v
|
||
for cell in table.rows[i].cells:
|
||
for para in cell.paragraphs:
|
||
para.paragraph_format.line_spacing_rule = WD_LINE_SPACING.SINGLE
|
||
for run in para.runs:
|
||
set_run_font(run, size=11)
|
||
doc.add_paragraph()
|
||
|
||
|
||
def build():
|
||
contract_output, _ = output_paths()
|
||
c = COMPANY
|
||
|
||
doc = Document()
|
||
section = doc.sections[0]
|
||
section.top_margin = Cm(2.54)
|
||
section.bottom_margin = Cm(2.54)
|
||
section.left_margin = Cm(3.17)
|
||
section.right_margin = Cm(3.17)
|
||
|
||
add_heading_text(doc, "多方分账业务合作协议", level=1)
|
||
add_para(doc, "合同编号:XGXJ-FS-________", align=WD_ALIGN_PARAGRAPH.LEFT, space_after=4)
|
||
add_para(doc, f"签订地点:{c['sign_place']}", align=WD_ALIGN_PARAGRAPH.LEFT, space_after=4)
|
||
add_para(doc, "签订日期:________年____月____日", align=WD_ALIGN_PARAGRAPH.LEFT, space_after=12)
|
||
|
||
add_heading_text(doc, "甲方(平台/分账发起方)", level=2)
|
||
add_info_table(doc, [
|
||
("名称", c["name"]),
|
||
("统一社会信用代码", c["credit_code"]),
|
||
("法定代表人", c["legal_person"]),
|
||
("住所", c["address"]),
|
||
("联系电话", c["phone"]),
|
||
("汇付商户号", c["huifu_id"]),
|
||
])
|
||
|
||
add_heading_text(doc, "乙方(分账接收方)", level=2)
|
||
add_para(doc, "主体类型(择一填写):□ 个体工商户 □ 个人(汇付进件用户)", space_after=8)
|
||
add_info_table(doc, [
|
||
("姓名/字号", "____________"),
|
||
("身份证号码", "____________________"),
|
||
("住所/经营场所", "____________________"),
|
||
("联系电话", "____________"),
|
||
("汇付商户号", "____________"),
|
||
("合作角色", "□ 推广员 □ 区域代理(区域:____________)"),
|
||
])
|
||
|
||
add_para(
|
||
doc,
|
||
f"鉴于甲方依法经营“{c['miniprogram']}”微信小程序商城,乙方自愿成为甲方推广员和/或区域代理;"
|
||
"双方依据《中华人民共和国民法典》及相关法规,就通过汇付天下有限公司(以下简称“汇付”)"
|
||
"支付通道进行延时分账结算事宜,达成如下协议:",
|
||
first_line_indent=0.74,
|
||
space_after=10,
|
||
)
|
||
|
||
articles = [
|
||
("第一条 合作内容与范围", [
|
||
"1.1 乙方在甲方平台注册并通过甲方审核后,以推广员和/或区域代理身份开展市场拓展、客户维护及销售促成活动。乙方非甲方员工,不建立劳动关系。",
|
||
"1.2 甲方负责商品供应、定价、订单处理、发货、开票(如需)及售后服务;乙方应遵守甲方公布的《分销管理办法》《区域代理管理办法》及平台规则。",
|
||
"1.3 乙方不得擅自以甲方名义对外签约、收款或销售非甲方授权商品;不得发布虚假广告或实施误导消费者行为。",
|
||
]),
|
||
("第二条 服务费计算与结算", [
|
||
"2.1 乙方服务费自甲方与消费者之间真实、合法、有效的商品交易产生,按甲方系统在订单生成时已生效的规则计算:",
|
||
"(1)推广员:按订单商品实付金额(不含运费,下同)及乙方等级对应比例计算推广服务费;具体比例以甲方后台“分销等级”配置及商品独立规则为准。",
|
||
"(2)区域代理:按订单收货地址所在行政区域及乙方代理层级,以实付金额为基数按约定比例或固定金额计算区域服务费;具体以甲方后台“区域公司等级”配置为准。",
|
||
"2.2 结算时点:消费者确认收货或订单达到“已完成”状态后,甲方系统触发分账。此前服务费处于待结算状态,不视为已到期应付。",
|
||
f"2.3 分账方式:甲方通过汇付延时分账功能,将乙方应得服务费划转至乙方汇付商户号(huifu_id)。乙方应配合完成汇付进件、实名认证、银行卡绑定及与甲方主商户({c['huifu_id']})的分账关系建立。",
|
||
"2.4 上限说明:单笔订单向全部分账接收方(含各级推广员、区域代理)划转总额不超过该笔订单实付金额的40%。若规则计算结果超过上限,按甲方系统裁切规则执行,乙方无异议。",
|
||
"2.5 退款扣减:订单发生退款、退货或撤销的,对应推广服务费、区域服务费予以扣减或追回;已分账的,乙方应在收到甲方通知后配合退回或同意从后续结算中抵扣。",
|
||
"2.6 甲方不向乙方承诺固定收入或最低收益。乙方因推广活动产生的通讯、交通、税费(除汇付及法定代扣代缴外)等成本由乙方自行承担。",
|
||
]),
|
||
("第三条 汇付分账授权", [
|
||
f"3.1 乙方知悉并同意:甲方作为汇付主商户(商户号:{c['huifu_id']}),在符合本协议及平台规则的前提下,通过汇付接口将属于乙方的服务费直接分账至乙方汇付账户,该行为已获乙方授权,视为甲方已向乙方履行付款义务。",
|
||
"3.2 乙方汇付账户提现、结算周期及手续费,按汇付公示及乙方进件协议执行,与甲方无关。",
|
||
"3.3 乙方应确保进件信息、结算银行卡真实有效;因乙方账户异常导致分账失败的,甲方有权暂缓支付并在乙方更正后重新发起,不构成违约。",
|
||
]),
|
||
("第四条 双方权利义务", [
|
||
"4.1 甲方权利义务",
|
||
"(1)按本协议及平台规则计算并发起分账;",
|
||
"(2)向乙方提供必要的后台查询、业绩统计;",
|
||
"(3)对乙方违规行为有权警告、暂停分账、取消资格;",
|
||
"(4)依法履行平台经营义务及消费者保护责任。",
|
||
"4.2 乙方权利义务",
|
||
"(1)合法合规开展推广,维护甲方品牌形象;",
|
||
"(2)对获知的消费者信息、价格政策、商业数据保密;",
|
||
"(3)不得恶意刷单、虚假交易、套取分账;",
|
||
"(4)配合甲方及汇付、监管部门的合规核查,提供真实资料。",
|
||
]),
|
||
("第五条 知识产权与宣传规范", [
|
||
f"5.1 “{c['miniprogram']}”商标、Logo、商品图片、文案等知识产权归甲方或权利人所有。乙方仅在推广范围内非独占使用,不得申请注册相同或近似标识。",
|
||
"5.2 乙方对外宣传内容须与甲方官方信息一致;未经书面许可,不得使用“官方独家”“保底收益”等表述。",
|
||
]),
|
||
("第六条 保密条款", [
|
||
"6.1 一方对另一方的商业信息、技术信息、客户名单、分账规则细节等负有保密义务,未经书面同意不得向第三方披露,法律法规或监管机构要求除外。",
|
||
"6.2 本条款在协议终止后仍有效,期限为三年。",
|
||
]),
|
||
("第七条 协议期限与终止", [
|
||
"7.1 本协议自双方签字/盖章之日起生效,有效期一年;期满前30日未书面提出终止的,自动续期一年,续期次数不限。",
|
||
"7.2 出现下列情形之一,守约方可单方解除协议:",
|
||
"(1)一方严重违约,经书面催告后7日内未纠正;",
|
||
"(2)乙方存在虚假交易、洗钱、传销、销售假冒伪劣商品等违法行为;",
|
||
"(3)乙方汇付账户被冻结、注销且30日内无法恢复;",
|
||
"(4)法律法规或监管要求必须终止。",
|
||
"7.3 协议终止后,对已发生且符合结算条件的交易,甲方仍应按本协议完成分账;未结算的合法收益不受影响。终止不影响违约责任及保密义务。",
|
||
]),
|
||
("第八条 违约责任", [
|
||
"8.1 乙方违反本协议给甲方造成损失的,应赔偿甲方全部直接损失及合理维权费用。",
|
||
"8.2 因乙方虚假交易、违规宣传导致甲方被投诉、处罚的,乙方承担全部责任及费用。",
|
||
"8.3 甲方无正当理由拖延符合结算条件的分账超过15个工作日的,可按中国人民银行同期贷款市场报价利率(LPR)向乙方支付迟延部分利息。",
|
||
]),
|
||
("第九条 不可抗力", [
|
||
"因地震、洪水、战争、政府行为、支付通道系统故障、网络攻击等不可抗力导致不能履行义务的,受影响方应及时通知对方并提供证明,相应顺延履行期限;持续超过60日的,任何一方可解除协议。",
|
||
]),
|
||
("第十条 争议解决", [
|
||
"因本协议引起的争议,双方应协商解决;协商不成的,提交甲方住所地有管辖权的人民法院诉讼解决。",
|
||
]),
|
||
("第十一条 其他", [
|
||
"11.1 本协议未尽事宜,按甲方平台公示规则执行;规则与本协议冲突的,以本协议为准。",
|
||
"11.2 本协议一式两份,甲乙双方各执一份,具有同等法律效力。电子签章与原件具有同等效力(如适用)。",
|
||
"11.3 附件为本协议组成部分,与正文具有同等效力:",
|
||
"附件一:乙方身份证复印件/营业执照副本",
|
||
"附件二:汇付进件及分账关系确认截图",
|
||
"附件三:甲方当期分销/区域代理等级及比例说明(后台导出)",
|
||
]),
|
||
]
|
||
|
||
for title, items in articles:
|
||
add_heading_text(doc, title, level=3)
|
||
for item in items:
|
||
add_para(doc, item, first_line_indent=0.74, space_after=4)
|
||
|
||
doc.add_page_break()
|
||
|
||
add_heading_text(doc, "签署页", level=2)
|
||
add_para(doc, f"甲方(盖章):{c['name']}", space_after=8)
|
||
add_para(doc, "法定代表人/授权代表(签字):________________", space_after=8)
|
||
add_para(doc, "日期:________年____月____日", space_after=24)
|
||
add_para(doc, "乙方(签字/捺印):________________", space_after=8)
|
||
add_para(doc, "(个体工商户须加盖字号公章)", space_after=8)
|
||
add_para(doc, "日期:________年____月____日", space_after=24)
|
||
|
||
doc.add_page_break()
|
||
|
||
add_heading_text(doc, "附件四:分账授权确认书", level=2)
|
||
add_para(
|
||
doc,
|
||
f"本人/本单位____________(汇付商户号:____________),"
|
||
f"系{c['name']}(汇付主商户号:{c['huifu_id']})之推广员/区域代理。",
|
||
first_line_indent=0.74,
|
||
space_after=8,
|
||
)
|
||
add_para(
|
||
doc,
|
||
f"现确认:授权甲方在“{c['miniprogram']}”商城真实交易项下,依据双方签署的《多方分账业务合作协议》"
|
||
"及平台有效规则,通过汇付延时分账接口将本人/本单位应得推广服务费/区域服务费直接分账至上述汇付商户号。"
|
||
"本人/本单位已开通汇付收单及结算功能,结算银行卡为本人/本单位实名账户。",
|
||
first_line_indent=0.74,
|
||
space_after=8,
|
||
)
|
||
add_para(
|
||
doc,
|
||
"本授权自签署之日起生效,至双方协议终止且待结算款项全部结清之日止。",
|
||
first_line_indent=0.74,
|
||
space_after=16,
|
||
)
|
||
add_para(doc, "授权人(签字/盖章):________________ 日期:________", space_after=8)
|
||
|
||
doc.save(str(contract_output))
|
||
print(f"已生成: {contract_output}")
|
||
|
||
|
||
def build_apply_guide():
|
||
_, apply_output = output_paths()
|
||
c = COMPANY
|
||
|
||
doc = Document()
|
||
section = doc.sections[0]
|
||
section.top_margin = Cm(2.54)
|
||
section.bottom_margin = Cm(2.54)
|
||
section.left_margin = Cm(3.17)
|
||
section.right_margin = Cm(3.17)
|
||
|
||
add_heading_text(doc, "汇付多方分账 40% 申请填写说明", level=1)
|
||
add_para(
|
||
doc,
|
||
f"商户:{c['name']} | 汇付商户号:{c['huifu_id']} | 小程序:{c['miniprogram']}",
|
||
align=WD_ALIGN_PARAGRAPH.CENTER,
|
||
space_after=12,
|
||
)
|
||
|
||
add_heading_text(doc, "一、表单字段填写", level=2)
|
||
table = doc.add_table(rows=6, cols=3)
|
||
table.style = "Table Grid"
|
||
headers = ["字段", "填写值", "说明"]
|
||
rows = [
|
||
("分账规则来源", "接口动态规则", "与商城系统一致,支付成功后由接口 delaytrans/confirm 传入 acct_split_bunch"),
|
||
("申请分账最大比例", "40%", "见下文三段说明中的比例测算"),
|
||
("分账手续费率", "0.05%", "与进件结算配置一致"),
|
||
("分账手续费固定金额", "0.5元", "按汇付控台要求填写"),
|
||
("分账模式", "线上/其他", "线上小程序零售"),
|
||
]
|
||
for j, h in enumerate(headers):
|
||
table.rows[0].cells[j].text = h
|
||
for run in table.rows[0].cells[j].paragraphs[0].runs:
|
||
set_run_font(run, size=11, bold=True)
|
||
for i, row in enumerate(rows, start=1):
|
||
for j, val in enumerate(row):
|
||
table.rows[i].cells[j].text = val
|
||
for run in table.rows[i].cells[j].paragraphs[0].runs:
|
||
set_run_font(run, size=11)
|
||
doc.add_paragraph()
|
||
|
||
sections = [
|
||
("二、业务模式说明(复制到汇付表单)", (
|
||
f"我司为{c['name']}(以下简称“平台”),统一社会信用代码{c['credit_code']},"
|
||
"依法持有有效营业执照,主营酒类商品零售。"
|
||
f"平台运营微信小程序“{c['miniprogram']}”,向终端消费者在线销售自有及授权经销的酒类商品,"
|
||
"负责商品展示、订单管理、收款、发货及售后处理。\n\n"
|
||
"平台采用“自营零售 + 推广分销 + 区域代理”模式开展经营,参与主体及权利义务如下:\n\n"
|
||
"(1)平台(收款商户):提供商品货源、定价、仓储发货、客服及退换货服务;承担商品质量、物流及消费者权益保障责任;"
|
||
f"通过汇付斗拱收单(主商户号:{c['huifu_id']}),并按订单结算规则向分账接收方支付推广服务费、区域代理服务费。\n\n"
|
||
"(2)推广员(分账接收方):经平台审核后成为分销商,通过分享商品链接、发展客户促成交易;"
|
||
"按平台《分销管理办法》及对应等级比例获得推广服务费;不得擅自变更价格、不得销售非平台授权商品。\n\n"
|
||
"(3)区域代理(分账接收方):经平台审核并绑定省/市/区县服务区域,按订单收货地址匹配;"
|
||
"负责区域内市场维护、客户咨询对接;按平台《区域代理管理办法》获得区域服务费;同一区域、同一层级仅设一家正式代理。\n\n"
|
||
"(4)消费者:在小程序下单支付,由平台统一发货,享有法定及平台承诺的售后服务。\n\n"
|
||
"分账金额依据订单实付金额及后台已生效的分销/区域规则计算,在消费者确认收货后执行延时分账,"
|
||
"单笔订单分账总额不超过订单实付金额的40%。"
|
||
)),
|
||
("三、资金流向说明(复制到汇付表单)", (
|
||
"本业务资金全程通过汇付斗拱支付通道闭环流转,不涉及平台外私人账户代收代付。\n\n"
|
||
f"(1)资金流入:消费者在“{c['miniprogram']}”微信小程序选购商品,通过微信支付完成付款,"
|
||
f"资金进入平台汇付商户号(主商户号:{c['huifu_id']})账户,交易类型为延时分账(delay_acct_flag=Y),"
|
||
"支付成功后资金暂存于汇付待确认分账余额。\n\n"
|
||
"(2)分账划出:订单达到分账条件(一般为确认收货或订单完成)后,平台系统调用汇付“交易确认/分账”接口,"
|
||
"按订单实时计算结果向各分账接收方汇付子商户号(huifu_id)划转对应金额,主要包括:"
|
||
"①推广员推广服务费;②区域代理区域服务费。分账指令由系统接口动态生成,与控台静态规则无关。\n\n"
|
||
"(3)平台留存:分账完成后,订单实付金额扣除支付手续费及已分出金额后的余额,"
|
||
f"留存在平台主商户({c['huifu_id']})汇付账户,作为货款及平台服务收入。\n\n"
|
||
"(4)资金流出:各分账接收方通过其汇付子商户账户,按汇付结算规则(T+1/D+1)"
|
||
"提现至其本人实名绑定的银行账户;平台主商户按同样规则将留存资金结算至公司对公账户。\n\n"
|
||
"(5)退款处理:发生退款时,按汇付及微信平台规则原路退回消费者;"
|
||
"已分账部分按平台制度及接口能力做回退或线下追偿处理,确保资金账实相符。\n\n"
|
||
"全部账户均为汇付体系内商户号或银行账户,可逐笔追溯、对账。"
|
||
)),
|
||
("四、功能开通用途说明(复制到汇付表单)", (
|
||
f"我司({c['name']},汇付商户号:{c['huifu_id']})申请开通汇付延时分账功能并将最大分账比例调整至40%,用途如下:\n\n"
|
||
f"(1)业务场景:{c['miniprogram']}商城存在推广分销(一至三级)及省/市/区县区域代理两类合作方,"
|
||
"单笔订单可能同时产生推广服务费与区域服务费,需在消费者确认收货后自动、准确结算至各合作方汇付子商户,"
|
||
"避免人工转账效率低、差错率高及合规风险。\n\n"
|
||
"(2)使用方式:支付环节开启延时分账;确认收货后,由商城后台系统调用汇付接口,"
|
||
"依据订单绑定的推广关系、收货地址及商品分账规则,动态计算各接收方金额并发起分账。"
|
||
"分账接收方须事先完成汇付个人/商户进件并与主商户建立分账关系。\n\n"
|
||
"(3)分账对象类型:已签约的注册推广员、已审核通过的区域代理,"
|
||
"均为与平台签署《多方分账业务合作协议》的独立民事主体。\n\n"
|
||
"(4)申请40%的原因:在三级分销叠加及区域代理“独占/级差”配置下,"
|
||
"单笔订单理论分账比例峰值可能接近35%—38%;申请40%作为系统上限,用于覆盖规则调整余量。"
|
||
"实际运行中,单笔订单平均分账比例约15%—25%,平台主商户留存比例通常不低于60%。\n\n"
|
||
"(5)合规承诺:分账基于真实交易及已签署协议,不用于洗钱、套现、资金池归集等违规用途;"
|
||
"分账材料与业务实际一致,接受汇付及监管核查。"
|
||
)),
|
||
]
|
||
|
||
for title, body in sections:
|
||
add_heading_text(doc, title, level=2)
|
||
for para in body.split("\n\n"):
|
||
add_para(doc, para, first_line_indent=0.74, space_after=6)
|
||
|
||
add_heading_text(doc, "五、附件上传建议", level=2)
|
||
for item in [
|
||
f"1. 《多方分账业务合作协议》盖章扫描件(至少 1—2 份已签约样本,甲方:{c['name']});",
|
||
"2. 平台营业执照副本;",
|
||
f"3. 小程序“{c['miniprogram']}”首页及订单流程截图;",
|
||
"4. 分销/区域代理管理制度或后台规则截图。",
|
||
]:
|
||
add_para(doc, item, space_after=4)
|
||
|
||
add_heading_text(doc, "六、提交前核对", level=2)
|
||
for item in [
|
||
"□ 控台 rule_origin=01(接口发起),与商城配置一致",
|
||
f"□ 主商户 {c['huifu_id']} 已开通延时分账",
|
||
"□ 表单比例 40% ≥ 商城 split_max_rate 配置",
|
||
f"□ 三份说明中公司名称、信用代码、商户号与营业执照及汇付控台一致",
|
||
"□ 已备至少一份与分账接收方签署的盖章协议",
|
||
]:
|
||
add_para(doc, item, space_after=4)
|
||
|
||
doc.save(str(apply_output))
|
||
print(f"已生成: {apply_output}")
|
||
|
||
|
||
if __name__ == "__main__":
|
||
build()
|
||
build_apply_guide()
|