doutuzhuohao6449 2013-12-09 16:14
浏览 72
已采纳

如何从PayPal SDK访问交易数据?

I am working with the PayPal SDK, and when I finish a transaction it returns this:

object(PayPal\Api\Payment)#8 (1) {
  ["_propMap":"PayPal\Common\PPModel":private]=>
  array(8) {
    ["id"]=>
    string(28) "PAY-66N6061121216644JKKS6LVQ"
    ["create_time"]=>
    string(20) "2013-12-09T15:46:30Z"
    ["update_time"]=>
    string(20) "2013-12-09T15:53:32Z"
    ["state"]=>
    string(8) "approved"
    ["intent"]=>
    string(4) "sale"
    ["payer"]=>
    object(PayPal\Api\Payer)#33 (1) {
      ["_propMap":"PayPal\Common\PPModel":private]=>
      array(2) {
        ["payment_method"]=>
        string(6) "paypal"
        ["payer_info"]=>
        object(PayPal\Api\PayerInfo)#30 (1) {
          ["_propMap":"PayPal\Common\PPModel":private]=>
          array(5) {
            ["email"]=>
            string(19) "indi3.rok@gmail.com"
            ["first_name"]=>
            string(7) "Cliente"
            ["last_name"]=>
            string(6) "Orozco"
            ["payer_id"]=>
            string(13) "U8C2RMNA4SP9E"
            ["shipping_address"]=>
            object(PayPal\Api\Address)#31 (1) {
              ["_propMap":"PayPal\Common\PPModel":private]=>
              array(5) {
                ["line1"]=>
                string(9) "1 Main St"
                ["city"]=>
                string(8) "San Jose"
                ["state"]=>
                string(2) "CA"
                ["postal_code"]=>
                string(5) "95131"
                ["country_code"]=>
                string(2) "US"
              }
            }
          }
        }
      }
    }
    ["transactions"]=>
    array(1) {
      [0]=>
      object(PayPal\Api\Transaction)#34 (1) {
        ["_propMap":"PayPal\Common\PPModel":private]=>
        array(4) {
          ["amount"]=>
          object(PayPal\Api\Amount)#35 (1) {
            ["_propMap":"PayPal\Common\PPModel":private]=>
            array(3) {
              ["total"]=>
              string(6) "100.00"
              ["currency"]=>
              string(3) "USD"
              ["details"]=>
              object(PayPal\Api\Details)#36 (1) {
                ["_propMap":"PayPal\Common\PPModel":private]=>
                array(1) {
                  ["subtotal"]=>
                  string(6) "100.00"
                }
              }
            }
          }
          ["description"]=>
          string(14) "Lo que pagaras"
          ["item_list"]=>
          object(PayPal\Api\ItemList)#37 (1) {
            ["_propMap":"PayPal\Common\PPModel":private]=>
            array(1) {
              ["items"]=>
              array(1) {
                [0]=>
                object(PayPal\Api\Item)#38 (1) {
                  ["_propMap":"PayPal\Common\PPModel":private]=>
                  array(4) {
                    ["name"]=>
                    string(23) "video: federer en paris"
                    ["price"]=>
                    string(6) "100.00"
                    ["currency"]=>
                    string(3) "USD"
                    ["quantity"]=>
                    string(1) "1"
                  }
                }
              }
            }
          }
          ["related_resources"]=>
          array(1) {
            [0]=>
            object(PayPal\Api\RelatedResources)#40 (1) {
              ["_propMap":"PayPal\Common\PPModel":private]=>
              array(1) {
                ["sale"]=>
                object(PayPal\Api\Sale)#42 (1) {
                  ["_propMap":"PayPal\Common\PPModel":private]=>
                  array(7) {
                    ["id"]=>
                    string(17) "2ES44750XJ1684301"
                    ["create_time"]=>
                    string(20) "2013-12-09T15:46:30Z"
                    ["update_time"]=>
                    string(20) "2013-12-09T15:53:32Z"
                    ["state"]=>
                    string(9) "completed"
                    ["amount"]=>
                    object(PayPal\Api\Amount)#44 (1) {
                      ["_propMap":"PayPal\Common\PPModel":private]=>
                      array(2) {
                        ["total"]=>
                        string(6) "100.00"
                        ["currency"]=>
                        string(3) "USD"
                      }
                    }
                    ["parent_payment"]=>
                    string(28) "PAY-66N6061121216644JKKS6LVQ"
                    ["links"]=>
                    array(3) {
                      [0]=>
                      object(PayPal\Api\Links)#46 (1) {
                        ["_propMap":"PayPal\Common\PPModel":private]=>
                        array(3) {
                          ["href"]=>
                          string(65) "https://api.sandbox.paypal.com/v1/payments/sale/2ES44750XJ1684301"
                          ["rel"]=>
                          string(4) "self"
                          ["method"]=>
                          string(3) "GET"
                        }
                      }
                      [1]=>
                      object(PayPal\Api\Links)#47 (1) {
                        ["_propMap":"PayPal\Common\PPModel":private]=>
                        array(3) {
                          ["href"]=>
                          string(72) "https://api.sandbox.paypal.com/v1/payments/sale/2ES44750XJ1684301/refund"
                          ["rel"]=>
                          string(6) "refund"
                          ["method"]=>
                          string(4) "POST"
                        }
                      }
                      [2]=>
                      object(PayPal\Api\Links)#48 (1) {
                        ["_propMap":"PayPal\Common\PPModel":private]=>
                        array(3) {
                          ["href"]=>
                          string(79) "https://api.sandbox.paypal.com/v1/payments/payment/PAY-66N6061121216644JKKS6LVQ"
                          ["rel"]=>
                          string(14) "parent_payment"
                          ["method"]=>
                          string(3) "GET"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    ["links"]=>
    array(1) {
      [0]=>
      object(PayPal\Api\Links)#49 (1) {
        ["_propMap":"PayPal\Common\PPModel":private]=>
        array(3) {
          ["href"]=>
          string(79) "https://api.sandbox.paypal.com/v1/payments/payment/PAY-66N6061121216644JKKS6LVQ"
          ["rel"]=>
          string(4) "self"
          ["method"]=>
          string(3) "GET"
        }
      }
    }
  }
}

I am not sure what it is. (I think it is JSON but I am not sure.)

What I want to do is get access to that info in this kind of array:

$transaction["payment"]

How can I do that?

  • 写回答

2条回答 默认 最新

  • duanhui1869 2014-08-14 07:34
    关注

    PayPal returns an object that is formatted using its own internal fromJSON() function - in the OP's case it was called from the Payment class:

    $json = $call->execute(array('PayPal\Rest\RestHandler'), "/v1/payments/payment/{$this->getId()}/execute", "POST", $payLoad);
    $ret = new Payment();
    $ret->fromJson($json);
    return $ret;
    

    To use this as a JSON object, you need to use the toJSON() function:

    $execution = new PaymentExecution();
    $execution->setPayerId($_GET['PayerID']);
    //Execute the payment
    // (See bootstrap.php for more on `ApiContext`)
    $result = $payment->execute($execution, $apiContext);
    // use the result 
    $jsonResult = $result->toJSON();
    

    I hope this helps.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)