gpt4 book ai didi

php - 在 WooCommerce 上获取 Paypal 付款详情

转载 作者:太空宇宙 更新时间:2023-11-03 15:57:52 25 4
gpt4 key购买 nike

我如何从 Paypal 获取付款详细信息,如 PaymentID、PaymentFirstName/LastName 和其他详细信息?

最佳答案

代码 PayPal 标准集成使用 valid-paypal-standard-ipn-request 操作来处理有效的 IPN 响应。您可以使用相同的操作连接到 IPN 并获取/存储您想要的任何信息。保存附加信息:

// Hook before the code has processed the order
add_action( 'valid-paypal-standard-ipn-request', 'prefix_process_valid_ipn_response', 9 );
function prefix_process_valid_ipn_response( $posted ) {
if ( ! empty( $posted['custom'] ) && ( $order = prefix_get_paypal_order( $posted['custom'] ) ) ) {

// Lowercase returned variables.
$posted['payment_status'] = strtolower( $posted['payment_status'] );

// Any status can be checked here
if ( 'completed' == $posted['payment_status'] ) {
// Save additional information you want
}
}
}

/**
* From the Abstract "WC_Gateway_Paypal_Response" class
*
* @param $raw_custom
*
* @return bool|WC_Order|WC_Refund
*/
function prefix_get_paypal_order( $raw_custom ) {
// We have the data in the correct format, so get the order.
if ( ( $custom = json_decode( $raw_custom ) ) && is_object( $custom ) ) {
$order_id = $custom->order_id;
$order_key = $custom->order_key;

// Nothing was found.
} else {
return false;
}

if ( ! $order = wc_get_order( $order_id ) ) {
// We have an invalid $order_id, probably because invoice_prefix has changed.
$order_id = wc_get_order_id_by_order_key( $order_key );
$order = wc_get_order( $order_id );
}

if ( ! $order || $order->get_order_key() !== $order_key ) {
return false;
}

return $order;
}

您可以在此处找到 PayPal 变量:https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNIntro/#id08CKFJ00JYK

WC 核心还保存了大量 IPN 数据的订单。所有数据都保存到订单元数据中,因此您可以使用 get_post_meta$order->get_meta('meta_key') 访问它。

meta_key 列出:

'Payer PayPal address' - 付款人地址

'付款人名字' - 付款人名字

'付款人姓氏' - 付款人姓氏

'支付类型' - 支付类型

'_paypal_status' - PayPal 支付状态

关于php - 在 WooCommerce 上获取 Paypal 付款详情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46908211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com