paypal常见错误
由于PayPal IPN 返回的参数很多,交易状态也有很多,所以有很多人不知道怎么处理,下面我给出一些建议,以供参考
1,订单状态怎么设置合理
订单状态可以 订单处理状态+付款状态+货物状态 这样的组合形式来设置
如果把订单的状态限制成单一的状态的话可能需要设定的值太多,而且不灵活,以组合的形式相对较容易管理
举一个例子
当一个客户下了订单之后订单的状态是 未处理+未付款+未发货
当这个客户付款之后订单状态是 未处理+已付款+未发货
当客服人员查看这个订单确认可以发货可以修改订单状态为 已审核+已付款+待发货
但负责发货的人员看到有 以审核+已付款+待发货 的订单,他可以进行发货并修改订单状态 已审核+已付款+已发货
如果客户发现很多天没有收到货,然后他登录PayPal对商家发起争议了,这个时候订单状态为 已审核+争议+已发货
客服人员看到有 已审核+争议+已发货 知道该笔订单发生了争议,他可以查看该订单的IPN找到争议的原因,跟客户进行沟通处理完成后对订单状态进行修改
这里我只是举了一个简单的例子,每个商家都有自己特殊的地方,而且订单可能出现的状态也远远不止这几种,需要商家根据自身情况来合理的设置。
2,payment_status怎么处理
目前PayPal IPN里面payment_status的值大概有十二种,也就是说,交易状态有十二种可能性,而且可能会在这十二种状态中来回变化,并没有一个最终的状态。
Canceled-Reversal:这意味着已经取消了撤销。例如,您在与客户的争议中获胜,先前撤销的交易资金已退回给您。
Completed:付款已完成,资金已成功增加到您的账户余额中。
Denied:您拒绝了付款。只有该款项此前因 PendingReason 元素说明的可能原因而待付时,才会发生此类情况。
Expired:这个授权已经过期,无法捕获。
Failed:付款失败。只有当付款来自于客户的银行账户时,才会发生此类情况。
In-Progress:这笔交易处于授权认证中。
Partially-Refunded:这笔交易被部分退款。
Pending:款项待付。请查看PendingReason 了解更多信息。
Refunded:您退还了付款。
Reversed:付款由于扣款索偿或其他撤销类型而撤销。资金已从您的账户余额中扣除,并已退还给买家。reason_code 变量指明了撤销原因。
Processed:付款已被接受。
Voided:此授权无效
在确定资金是否已经到帐除了确定payment_status=Completed外好需要看payment_type这个参数
如果payment_type=echeck初始状态会是payment_status=Pending当PayPal和银行结清支票之后payment_status=Completed表示资金已经到商家的帐号了,因为电子支票有一定的处理周期。
本人博客的文章大部分来自网络转载,因为时间的关系,没有写明转载出处和作者。所以在些郑重的说明:文章只限交流,版权归作者。谢谢