Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 工作流程混乱:PayPal Cordova插件/Magento_Php_Cordova_Magento_Paypal - Fatal编程技术网

Php 工作流程混乱:PayPal Cordova插件/Magento

Php 工作流程混乱:PayPal Cordova插件/Magento,php,cordova,magento,paypal,Php,Cordova,Magento,Paypal,PayPal的Cordova插件让我有点困惑,因为它对于实现与Magento实例交互的安全工作流意味着什么 通常,快速签出工作流如下所示: 客户访问Magento网站结帐 客户被定向到贝宝 客户返回到Magento站点 客户在Magento网站上单击“下订单” Magento站点将报价转换为订单 Magento网站访问PayPal以获取/确认资金,检查是否存在可能的欺诈行为等 Cordova插件实施的工作流程如下所示: 客户访问应用程序签出 客户被定向到贝宝 根据配置授权或捕获付款 客户被引导回

PayPal的Cordova插件让我有点困惑,因为它对于实现与Magento实例交互的安全工作流意味着什么

通常,快速签出工作流如下所示:

  • 客户访问Magento网站结帐
  • 客户被定向到贝宝
  • 客户返回到Magento站点
  • 客户在Magento网站上单击“下订单”
  • Magento站点将报价转换为订单
  • Magento网站访问PayPal以获取/确认资金,检查是否存在可能的欺诈行为等
  • Cordova插件实施的工作流程如下所示:

  • 客户访问应用程序签出
  • 客户被定向到贝宝
  • 根据配置授权或捕获付款
  • 客户被引导回应用程序
  • 应用程序执行成功处理程序
  • 在上面的Cordova插件工作流中,请注意缺少从报价到订单转换的步骤。在我看来,有两种选择:

    插入报价->在2和3之间调用订单转换

    注意事项:

  • 客户可能无法完成结账,现在订单在系统中永久孤立
  • 客户可能希望更改某些内容(现在无法更改,订单无法修改)
  • 插入报价->订单转换呼叫在5之后

    注意事项:

  • 信任客户端通知服务器已付款(这需要服务器端与PayPal进行交叉询问/额外的复杂性)
  • 客户端可能永远不会实际发送通知

  • 我不喜欢上面提到的任何选项。有人能帮我澄清我的困惑,或者告诉我我希望我遗漏了什么吗?

    我发现我能够向Cordova应用程序提供一个占位符发票号码,以便传递给PayPal

    然后,PayPal可以通过IPN将此发票号码以及相关交易详细信息发送到Magento服务器。这将客户从图片中带出,并符合我的需要

    因此,实际工作流程如下所示:

  • 客户点击“PayPal按钮”
  • 将向Magento服务器发送创建订单和占位符发票的请求
  • Magento服务器向客户端提供占位符发票编号
  • 订单现在在Magento中处于“待付款”状态
  • 客户继续向PayPal付款
    • 如果客户端成功付款,则会将IPN发送到Magento服务器,并将客户端返回到“应用程序付款成功”页面
    • 如果客户端未能付款且未能返回应用程序,则订单将保持为“付款待定”,由crontask每隔一段时间取消一次
    • 如果客户端未能付款并成功返回应用程序,应用程序将联系Magento服务器并立即取消订单

  • 我对该产品缺乏文档/支持感到非常失望。

    您正在使用哪种api创建订单?您能回答这个问题吗?