笔记: 这是一个 开发者级别 doc作为指导提供。 根据我们的支持政策,我们无法提供建议或审查代码。
帐户更改后清理数据库 ↑ 回到顶部
每当 Stripe.com 帐户密钥(可发布 API 密钥和/或秘密 API 密钥)发生更改时,可能需要进行数据库清理。 网关存储各种标识符(客户、卡、来源等),以便将本地对象与 Stripe 链接,但这些对象是特定于帐户的。 如果您不执行此清理,商店可能会遇到购买失败的情况。
清理前 ↑ 回到顶部
在继续之前,请联系 Stripe 以检查现有客户和付款方式是否可以转移到新帐户。
清理 ↑ 回到顶部
DELETE FROM `wp_usermeta`
WHERE meta_key IN ( '_stripe_customer_id', '_stripe_source_id', '_stripe_card_id' );
DELETE tokenmeta FROM `wp_woocommerce_payment_tokenmeta` tokenmeta
INNER JOIN `wp_woocommerce_payment_tokens` ON `wp_woocommerce_payment_tokens`.`token_id` = tokenmeta.`payment_token_id`
WHERE `wp_woocommerce_payment_tokens`.`gateway_id` = 'stripe';
DELETE FROM `wp_woocommerce_payment_tokens` WHERE gateway_id='stripe';
使用 WordPress 多站点时的清理 ↑ 回到顶部
此代码段类似,但也清除了特定于站点的值。
请为网络中需要清理的每个站点使用此代码段。 代替 wp_999_
带有站点前缀。 注意: 网络的主站点不使用前缀中的数字,所以你需要简单地使用 wp_
代替 wp_999_
.
DELETE FROM `wp_usermeta`
WHERE meta_key IN ( '_stripe_customer_id', '_stripe_source_id', '_stripe_card_id', 'wp_999__stripe_customer_id' );
DELETE tokenmeta FROM `wp_999_woocommerce_payment_tokenmeta` tokenmeta
INNER JOIN `wp_999_woocommerce_payment_tokens` ON `wp_999_woocommerce_payment_tokens`.`token_id` = tokenmeta.`payment_token_id`
WHERE `wp_999_woocommerce_payment_tokens`.`gateway_id` = 'stripe';
DELETE FROM `wp_999_woocommerce_payment_tokens` WHERE gateway_id='stripe';
网络中站点之间的冲突(多站点) ↑ 回到顶部
自版本以来,开箱即用支持多站点设置 4.3.2
的网关。 但是,如果网关已在一个简单站点上使用过,后来又转换为多站点网络,您可能会遇到 No such customer
错误,或保存的卡片出现错误。
要修复这些错误,请使用以下 SQL 片段,并确保替换 wp_
(单下划线)与您的数据库表前缀:
UPDATE `wp_usermeta`
SET `meta_key` = CONCAT( 'wp_', `meta_key` )
WHERE `meta_key` IN ( '_stripe_customer_id', '_stripe_source_id', '_stripe_card_id' );
这将确保来自主站点/博客的现有客户 ID 不会被用作其他站点的后备值。