WP Simple Pay 文档

WP Simple Pay 的文档、参考资料和教程

如何添加文件上传字段

阅读时间: 5 分钟 | 难度: 初级

概述

文件上传字段允许客户在付款时附加文件。它涵盖了所有需要随金钱一起提供文档的表单:定制工作的设计简报、打印订单的照片、签名的表格或折扣价的资格证明。

客户可以将文件拖放到该字段,或点击以从其计算机中选择一个文件。他们会看到一个上传进度条,然后是文件名和一个删除并选择不同文件的按钮。付款完成后,文件将与该付款关联,并在 WordPress 的详细视图中链接。

先决条件

  • WP Simple Pay Pro(任何级别)
  • 要添加该字段的付款表单

步骤 1:添加文件上传字段

  1. 导航到 WP Simple Pay > 付款表单 并编辑您要添加字段的表单。
  2. 点击 表单字段 选项卡。
  3. 打开字段下拉菜单,选择 文件上传。
  4. 点击 添加字段。
从表单字段下拉菜单中选择文件上传

新字段已添加到您的字段列表顶部。点击其标题以展开其设置。

步骤 2:配置字段

表单构建器中的文件上传字段设置

每个文件上传字段都有自己的设置,因此包含两个上传项的表单可以接受完全不同的文件。

标签

显示在您表单字段上方的文本。使其显示您想要的内容,例如“上传您的作品”而不是仅仅“文件”。

允许的文件类型

文件扩展名的逗号分隔列表,带或不带前导点。默认列表是:

.pdf,.doc,.docx,.jpg,.jpeg,.png,.gif

将其缩小到您需要的确切范围。一家接受作品的印刷店可能会使用 .pdf,.png,.tif,而一个收集签名的协议的表单可能只允许 .pdf。

您的列表不是最终决定。仅当扩展名在您的列表中并且 WordPress 本身允许该文件类型上传时,WP Simple Pay 才会接受文件。超出此重叠范围的任何内容都将被拒绝,并且无论您在此处输入什么,HTML 和 JavaScript 文件始终会被拒绝。

最大文件大小 (MB)

字段将接受的最大文件大小(以兆字节为单位)。默认值为 10 MB,您可以设置 1 MB 到 100 MB 之间的任何值。

您的网络服务器有自己的上传限制,以较小者为准。如果您的主机将上传限制为 8 MB,则将此字段设置为 50 MB 不会提高该上限。如果您需要更大的文件,请联系您的主机以提高服务器限制。

必填

勾选此项,客户必须在付款前附加文件。必填字段但没有文件会阻止付款,并在字段上显示错误。

Stripe 元数据标签

一个简短的名称(最多 40 个字符),用于在您的 Stripe 付款记录和 WordPress 中的交易详情视图中标识此上传。客户看不到它。

在此处键入标签,下方会显示一个“复制智能标签”按钮以及匹配的智能标签:

Stripe 元数据标签设置及复制智能标签按钮

点击“复制智能标签”可将类似 {payment:metadata:artwork_file} 的标签复制到剪贴板,以便粘贴到确认页面或电子邮件中。有关这些标签的使用位置,请参阅 将智能标签用于确认页面和电子邮件。

完成后保存表单。

第 3 步:您的客户看到的内容

在已发布的表单上,该字段最初是一个拖放区域,显示“拖放文件或单击以浏览”。

已发布的付款表单上的文件上传字段

客户拖放文件,或单击以打开其文件浏览器。文件会立即根据允许的类型和大小限制进行检查,因此错误的文件类型会在任何文件上传之前被拒绝。文件传输时会显示进度条,然后该字段会显示文件名和一个移除按钮,以便客户可以更换文件。

显示已附加文件的文件上传字段

两项措施可保护提交内容:

  • 在上传仍在进行时,无法提交表单。客户在文件传输完成之前永远不会付款。
  • 如果必填的文件上传字段为空,提交时会在字段上显示错误,并且不会尝试付款。

上传的文件去向

创建付款时,上传文件的 URL 会根据您在“Stripe 元数据标签”中设置的名称,保存到该付款的 Stripe 元数据中。您可以在 Stripe Dashboard 的付款中看到它。

在 WordPress 中,文件会显示在付款详情视图的“上传的文件”卡片中,按字段的元数据标签列出,原始文件名作为链接打开文件。有关如何查找付款和打开其详情视图,请参阅 如何使用交易页面。

安全和存储

上传发生在公共付款表单上,因此服务器和浏览器都会应用所有检查:

  • 默认拒绝。允许的类型是您允许列表和 WordPress 本身允许的文件类型之间的交集。对于所有访问者,HTML 和 JavaScript 始终被排除在外。
  • 文件的真实内容会根据其扩展名进行检查。重命名为看起来像图像的脚本会被拒绝,不会被存储。
  • 大小会强制检查两次,一次针对您的字段限制,一次针对您服务器自己的上传限制。
  • 保护付款提交的同一 IP 费率限制也适用于上传。单个访问者无法用文件轰炸该端点。

文件保存在 WordPress 上传目录内一个专用的、经过加固的文件夹中,与您的普通媒体分开,并且每个文件都有一个随机生成的文件名,因此无法猜测其地址。

这些文件不打算手动管理。重命名、移动或删除其中一个会破坏针对付款记录的链接,并且下面的自动清理功能会清除无人付款的文件。

自动清理被放弃的上传文件

在客户付款之前,会在客户选择文件的那一刻上传文件。计划任务会定期运行,并清除从未付款的上传文件:

  • 从未与付款相关联的文件,因为访问者选择了文件然后离开了表单。这些文件大约在一天后被删除。
  • 与客户从未完成的付款相关联的文件,例如在付款步骤中卡被拒绝或标签被关闭。这些文件大约在一周后被删除。

实际后果是,被放弃的结账不会永远在您的服务器上留下文件。实际完成的付款的文件不会被清理功能触及,包括后来被退款或有争议的付款。

常见问题解答

默认允许哪些文件类型?

PDF、DOC、DOCX、JPG、JPEG、PNG 和 GIF。您可以在“允许的文件类型”设置中用您自己的列表替换该列表。

我将一个扩展名添加到允许列表中,但文件仍被拒绝。为什么?

您的列表与 WordPress 允许上传的文件类型进行交叉,任何 WordPress 不允许的都会从该字段的列表中删除。无论如何都会排除 HTML 和 JavaScript 文件。表单上显示的错误列出了该字段实际接受的扩展名,这是查看哪些内容通过了交叉的最快方法。

当文件的扩展名与其真实内容不匹配时,文件也可能被拒绝,例如将 .zip 重命名为 .pdf。

我可以允许的最大文件大小是多少?

该字段设置接受 1 MB 到 100 MB,默认为 10 MB。您的服务器自己的 PHP 上传限制也适用,两者中较小者将被强制执行。如果您的主机允许上传 8 MB,则实际限制为 8 MB,无论字段如何显示。将字段值提高到超出服务器限制无效,因此请先要求您的主机提高服务器限制。

上传的文件会进入我的媒体库吗?

不,它们不会与您的常规媒体一起存储。它们进入您上传目录内的专用 WP Simple Pay 文件夹,文件名随机化,并且在它们所属的付款从未完成时会被自动清理。将它们视为付款记录,而不是要管理的媒体。

如何在确认页面或电子邮件中包含上传文件?

在字段上设置一个Stripe 元数据标签,点击复制智能标签,然后将生成的 {payment:metadata:...} 标签粘贴到您的确认页面内容或电子邮件正文中。该标签会输出文件的 URL。请参阅 使用智能标签进行确认页面和电子邮件设置 和 如何创建自定义表单字段智能标签。

如果客户放弃付款,文件会怎样处理?

它会被自动删除。从未附加到付款的文件大约一天后会被移除,而附加到从未完成的付款的文件大约一周后会被移除。不会有任何东西被无限期地保留下来。

客户可以附加多个文件吗?

每个文件上传字段接受一个文件。要收集多个文件,请为每个文件添加一个文件上传字段,因为该字段可以根据需要添加到表单中任意多次。为每个字段设置自己的标签、允许的类型、大小限制和元数据标签,也能使付款记录比一堆文件更容易阅读。

这适用于重定向到 Stripe Checkout 的表单吗?

是的。在将客户发送到 Stripe 之前,该字段会在您的网站上显示并上传文件,并且文件的 URL 会以相同的方式保存到生成的付款中。

下一步是什么?

仍有疑问?我们随时为您提供帮助!

最后修改时间:

立即开始接受付款

在您的WordPress网站上开始接受一次性付款、定期付款或捐赠。