柳暗花明笔记

    Prestashop的PayPal的标准支付和EC支付的过程

    所属分类:[ 杂七杂八 ] 猫哲学家 发表于:2017-03-25 15:48 浏览:206

    PP 标准支付建单过程
    1. 客户从购物车点PP跳到PP进行支付,同时会把CartID带给PP
    2. 客户在PP支付成功后,PP会通过IPN通知网站,同时把CartID带回给网站
    3. 网站收到PP带回的CartID和支付结果(COMPLETED|PENDING|REFUNDED)后:
    1) 检查CartID是否有效(真实存在),无效则报错退出
    2) 根据CartID检查订单金额信息是否正确,不正确则报错退出
    3) 根据PP返回的状态,定义网站订单新状态A
    a)如果PP返回COMPLETED,则A=Payment accepted,
    b)如果PP返回PENDING,则A=Awaiting PayPal payment
    c)如果PP返回REFUNDED,则A=Refund
    d)否则,A=Payment error
    4) 检查此CartID的订单是否被创建了:
    a)已创建,则更新此订单状态为A
    b)未创建,根据此CartID创建新订单,且新订单的状态为A

    PP EC支付建单过程
    1. 客户从产品页面或购物车点EC跳到PP
    2. 客户在PP确认地址信息后跳回网站,同时把地址信息带回网站
    3. 网站得到PP返回的信息后Double-check,把PP返回的token拿到PP进行检查,如果检查不合法,则退出
    4. 从3的检查结果会带回相关的信息A,从A中抽取邮箱,看此邮箱在网站是否存在,不存在则新建一个用户B,存在以此邮箱则加载用户B
    5. 从B用户的所有地址中捞别名为PayPal的地址,如果捞到则加载此地址作为C,如果没捞到则从A中抽取地址信息新建立一个地址(别名设为PayPal)作为C
    6. 更新购物车的delivery address=C和billing address=C
    7. 客人点购物车的EC完成支付,此时网站把支付信息再送给PP,PP接到信息后会直接给出支付结果D
    8. 检查支付结果D:
    1)D的ACK状态不是SUCCESS或SUCCESSWITHWARNING,退出,
    2)D的ACK状态是SUCCESS或SUCCESSWITHWARNING,则查检PP的支付结果状态(假设最后网站要新建立的订单状态变量为X):
    a)支付结果状态为COMPLETED,则X=Payment accepted,
    b)支付结果状态为PENDING,则X=Awaiting PayPal payment,
    c)否则,X=Payment error
    9. 以X为订单状态建立新订单


    上一编文章 fancybox 真的是个好东西啊,手机优先 下一编文章 发现好用的网页面消息提示
    最近文章
    发表评论