在App中实现paypal

时间:2015-03-09 12:54:52

标签: php api paypal

我对App中的Paypal集成非常新,所以我有几个问题。 (我只需用PHP实现服务器脚本......)

我理解付款流程吗?:

  1. 该应用程序付款并向服务器发送付款证明。
  2. 服务器查找此付款,如果一切正常,则处理订单。
  3. 我的问题:

    予。编程应用程序的compamy告诉我,我将获得payment_id来查找付款细节,然后我必须“捕获”付款然后处理订单。 “捕获”是什么意思?如果我收到付款证明,付款已经完成,那么我应该抓住什么?

    II。我尝试使用以下脚本获取付款详细信息,但我只收到错误:

    $curl = curl_init("https://api.sandbox.paypal.com/v1/payments/payment/" . $payment_id);
    
    curl_setopt($curl, CURLOPT_POST, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array(
          'Authorization: Bearer ' . $api_key,
          'Accept: application/json',
          'Content-Type: application/json'
    ));
    
    $response = curl_exec($curl);
    $result = json_decode($response);
    print_r($result);
    

    错误:

    stdClass Object
    (
        [name] => INTERNAL_SERVICE_ERROR
        [message] => An internal service error has occurred
        [information_link] => https://developer.paypal.com/webapps/developer/docs/api/#INTERNAL_SERVICE_ERROR
        [debug_id] => 950d09d5a33e1
    )
    

    III。我是否有权批准这种付款证明,或者如果有任何错误我可以更改吗?

    提前致谢。

1 个答案:

答案 0 :(得分:1)

几乎所有类型的在线支付流程并没有太大差别(实施细节可能会有所不同,但最终):

  1. 您申请付款服务以便为您处理付款
    • 对于信用卡付款,通常这意味着请求Authorization在某个时候保留您需要Capture(最终确定,完成等)的资金。有些流程只需一步(auth + capture),其他流程需要稍后捕获(在产品/服务实现时)。
  2. 你会得到一个结果 - 你的要求:你的要求是好还是没有(有没有资金,有没有好账,等等)
    • authorization请求好吗?或者不是?
    • capture请求好吗?或者不是?
  3. 使用Paypal帐户付款会增加额外的步骤,因为您必须要求用户访问其Paypal帐户/资金工具。因此request经历了相同的流程 -

    • 您要求用户“批准”(访问其Paypal帐户/资助工具)
    • 用户批准或拒绝该请求
    • 如果用户批准您的请求,则流程与上述相同。

    通过以上所有流程,您可以找到数据 - 例如payment_idpayer_id等引用您完成流程所需的项目(您可以通过名称推断它们是什么)。

    最重要的部分: 你必须通过developer documentation并真正了解所有细节 - 原因很明显。不要做“零敲碎打”的事情。这些流量会影响您为此所做的任何人的收入。 Paypal也有包含样本的SDK。使用它们。

    编码很容易,但是如果你没有掌握你所编写的内容,它就不会很漂亮......