PayPal标准将客户从你的网站转到PayPal的安全网站,以完成订单的付款。
WooCommerce核心的PayPal标准使用“即时支付通知”(IPN),并已通过PayPal声明https以增加安全完成更新
你需要做什么?确保你的主机通过CURL/fsockopen使用TLS 1.2或更新的证书支持HTTPS链接。WooCommerce中的系统状态页面告诉你连接是否有问题。如果需要,请联系你的主机商进行修复。
要求 #
- 一个PayPal商家账户
打开paypal.com然后注册一个PayPal商家账户或将现有的个人账户转为商家账户。免费。
设置和配置 #
要设置PayPal标准:
- 打开:WooCommerce > 设置 > 结算 > PayPal
- 如果你准备好使用就勾选“启用PayPal标准”
- 启用一个结算时显示给顾客的标题和描述
- 在PayPal邮箱字段输入你的邮箱地址,这是付款前最重要的配置。必须与你PayPal商家账户匹配一致。
- 如果你想要在商店开发期间测试结算流程,就勾选“启用PayPal沙箱”。启用沙箱后,不需付款。要使用沙箱模式,你需要通过PayPal沙箱建立一个单独沙箱账户。
- “调试日志”也可以打开,这在开发过程中是有用的。你可能需要先创建wc-logs文件夹并设置权限才能使其可写。这些日志可在WooCommerce > 系统状态 > 日志找到,然后从下拉列表中选择PayPal日志。
高级选项 #
在高级选项下,根据需要完成字段。
有两种配送方式:
- 发送配送详情到PayPal。你可以选择让WooCommerce将配送详情发送给PayPal,以创建配送标注,而不是账单标注。
- 地址覆盖选项。PayPal验证地址,因此该设置可能会导致错误。我们建议将其禁用,但它可以有助于防止更改地址信息。
注意:当选择发送配送详情选项时,PayPal验证传递的地址,如果不能识别该地址,则可以拒绝该顾客。
这些字段也可以使用:
- 如果收到付款的邮箱地址不同于你的PayPal账户的主要邮箱地址,则可以使用“收件人电子邮件”
- “发票前缀”为PayPal发票添加前缀。如果您在多个网站/商店使用相同的PayPal帐户,这是有帮助的。
- “支付操作”可让你选择立即获取资金或仅授权。
- “页面样式”是一个选填设置,你可以在其中输入PayPal账户中自定义页面的名称。
- 如果您有IPN问题,PayPal身份令牌可用于验证付款。
一旦“仅授权”订单更改为“待处理”或“已完成”,资金将被自动捕获。它不再是WooCommerce 3.0的手动过程。
API Credentials 申请API凭证 #
有三个字段将API信息粘贴到:
- API用户名
- API密码
- API签名
想了解怎样从PayPal获得实时的API信息(不是Sandbox沙盒),点击这里。选择NVP/SOAP API integration (Classic)
配置PayPal仪表盘 #
大部分配置都是从WooCommerce中处理的,但是在PayPal中有几个可以设置的项目。
PayPal IPN网址 #
建立你的PayPal IPN网址是很好的做法。
PayPal即时付款通知(PayPal IPN)告诉你的商店付款已成功(或不成功)。要了解更多有关如何在PayPal上进行设置的信息,点击如何在PayPal账户中激活IPN。一个PayPal账户只能有一个IPN网址,因此你需要使用尚未使用IPN的账户进行其他用途。
在你的PayPal商家账户中,打开:用户信息 > 用户信息与设置 > 销售工具。点击即时付款通知设置你的URL网址。
使用以下内容,将example.com替换为你自己的URL网址:
http://example.com/?wc-api=WC_Gateway_Paypal
自动返回 #
你可以在PayPal账户中设置自动返回,这将带顾客进入收据页面。例如,使用下面URL网址并将example.com替换为你自己的URL网址:
example.com/checkout/order-received/
无论此设置如何,它将动态重定向到正确的收据页面。
将?utm_nooverride=1
添加到你的网址后面来确保交易(即转化)被记入原始流量来源,而不是PayPal。
常见问答 #
我需要SSL证书吗? #
付款不是在你网站上的结算页面完成,而是在PayPal网站完成。添加SSL证书是可选的,但绝对鼓励。SSL正在成为搜索结果的排名因素;它也保护你网站传进传出的信息安全。
我有待处理的订单,但没有收到付款 #
如果客户在PayPal(而不是你的WooCommerce商店)中放弃订单,则该订单显示为“待处理”(未支付)。没有必要采取行动。
达到保留库存时间后,订单会自动取消。
当客户正在结算时,什么数据被发送到PayPal了? #
你商店的PayPal网关发送单行项目到PayPal(产品名称、价格和数量),除非:
- 你的价格被定义为包含税
- 你有超过九个订单项,包含运费-PayPal只支持九个项目。
这是为了防止四舍五入错误,并确保收取正确的总计。当订单项未发送时,项目将分组并命名为“订单#x”。
我的运费没传送到PayPal #
WooCommerce 2.6+通过PayPal以“真实”配送行项目发送运费。如果你的PayPal账户在其中设置了配送规则,则会覆盖并移除WooCommerce发送的费用。
要解决这个问题,你必须删除PayPal账户上的所有配送规则设置或使用以下方法禁用它们:
为什么我已收到付款,但订单仍是“待处理”?为什么我的购物车在付款后不清账? #
在这种情况下,PayPal IPN失败。检查你的服务器并查看下面的“调试IPN问题”
为什么我收到一个内部服务器错误? #
如果在点击购买按钮后看到以下错误消息,您在PayPal设置中输入的电子邮件地址不正确:
在多个网站上使用相同的PayPal账户 #
WooCommerce使用“发票”系统。有一个设置“阻止重复发票”。两个网站使用发票,不可避免会有重复的发票号码。通过在PayPal中取消该设置,发票问题就解决了。请检查你的WooCommerce PayPal设置中的发票前缀对于每个网站都是不同的。
顾客是否需要PayPal账户? #
PayPal有一个选项,允许顾客在不创建账户的情况下结算。该设置被称为“PayPal账户可选”,可以在你的PayPal账户中用户信息页面找到。打开:用户信息 > 用户信息与设置 > 销售工具 > 网站习惯设定,然后开启“PayPal账户可选”。想要了解更多,看看:PayPal账户可选
“PayPal商家保护”是否有效? #
如果你使用配送地址,有效。如果你使用账单地址(默认),无效。PayPal API不能识别多个地址。
消息:商家只接受未加密支付的付款 #
该信息来自PayPal
当您的PayPal帐户配置文件设置为仅接受来自“加密”按钮的付款,但您的项目按钮代码“未”加密时,会显示此错误。这将中断付款过程并显示错误消息。
要关闭此选项: #
- 登录你的PayPal账户
- 点击右上角用户信息 > 用户信息与设置
- 点击左侧销售工具 > 网站习惯设定
- 在加密的网站付款这里,选择“关闭”
- 点击底部的保存
消息:此发票已支付 #
如果你正在运营多个商店或使用PayPal账户做了其它事,WooCommerce订单号可能不是唯一的。
为避免此问题,请打开:WooCommerce > 设置 > 结算 > PayPal,并为你的商店设置一个唯一的“前缀”,例如:MYSTORE
调试IPN问题 #
如果IPN没有更新你的订单,可以采取以下步骤。在处理这些问题时,你可能希望防止“待处理”(未支付)订单自动取消,以便你有机会手动确认无IPN的付款。要执行此操作,打开:WooCommerce > 设置 > 产品 > 库存,并将“保持库存(分钟)”选项设置为无(将该字段留空)。
另外注意,你可以在这里查看IPN历史页面了解有关IPN可用性的更多信息:https://www.paypal.com/us/cgi-bin/webscr?cmd=_display-ipns-history
你在本地测试吗? #
如果你在本地测试,以MAMP为例,PayPal无法与您本地的商店进行通话。这是正常的-当你上传到服务器之后才能实现与PayPal正常支付。
检查你的服务器是否支持fsockopen #
网关必须与PayPal通话以检查通知的有效性-为此,它需要fsockopen支持。使用的函数是http://codex.wordpress.org/Function_API/wp_remote_post
要检查服务器是否支持此功能,打开:WooCommerce > 系统状态查看结果。
检查你的服务器是否有防火墙 #
网关通过https URL与PayPal通话。您的防火墙需要将出站端口443打开。
启用日志记录 #
通过设置启用日志后,检查是否收到响应。如果没有,那么问题可能是由于你的WordPress安装或插件冲突。关闭其他插件。
检查电子邮件地址 #
检查PayPal网关设置中的电子邮件地址是否与IPN传回的电子邮件地址相匹配。将你的主要电子邮件地址用于你的PayPal账户。它们需要匹配。
否则将导致IPN回应被拒绝。这可能导致订单保持暂停或未完成。
检查冲突 #
如果订单状态在订单完成时没有更改,检查是否与W3 Total Cache有冲突
PayPal沙箱模式中的货币 #
当PayPal处于沙箱模式时,如果使用的是沙箱货币以外的货币,它将自动将付款设置为“待处理”。确保你在PayPal沙箱中设置的货币与你的WooCommerce商店中的货币相同。
为什么顾客在付款后被重定向到我的网站时看不到下载产品的链接? #
这可能是IPN无法正常工作的现象。可能的解决方案是启用“付款数据传输”(PDT)。在你的PayPal账户设置中,尝试设置以下内容:
保存设置后,返回“网站设置”页面,找到“付款数据传输”的身份令牌:
复制“付款数据传输”的身份令牌后,你可以将其粘贴到WooCommerce > 设置 > 结算 > PayPal字段中:
还是不工作? #
联系你购买服务器主机的公司。有些主机,如GoDaddy,我们已经知道IPN有问题,不幸的是我们无法控制。
或者,要禁用重复发票检查,请登录到你的PayPal账户,然后转到用户信息 > 用户信息与设置 > 销售工具 > 收款和管理我的风险 > 拒绝付款然后设置“拒绝意外付款”为“否”