【问题标题】:Having a hard time retrieving the customer_id getId() from createCustomer object to pass to createCustomerCard很难从 createCustomer 对象中检索 customer_id getId() 以传递给 createCustomerCard
【发布时间】:2017-09-28 07:58:11
【问题描述】:

这是我的代码,这是我在 here 中使用的示例

$createcustomer_api = new \SquareConnect\Api\CustomersApi();
$createcustomer_result = $createcustomer_api->createCustomer(array(
  'given_name' => 'Amelia',
  'family_name' => 'Earhart',
  'email_address' => 'Amelia.Earhart@example.com',
  'address' => array(
    'address_line_1' => '500 Electric Ave',
    'address_line_2' => 'Suite 600',
    'locality' => 'New York',
    'administrative_district_level_1' => 'NY',
    'postal_code' => '10003',
    'country' => 'US'
  ),
  'phone_number' => '1-555-555-0122',
  'reference_id' => 'YOUR_REFERENCE_ID',
  'note' => 'a customer'
));

如果我打印出我得到的结果

SquareConnect\Model\CreateCustomerResponse Object
(
    [errors:protected] => 
    [customer:protected] => SquareConnect\Model\Customer Object
        (
            [id:protected] => CBASEHtp6YVU8AirkMv1lrVMyoIgAQ
            [created_at:protected] => 2017-09-27T23:19:44.62Z
            [updated_at:protected] => 2017-09-27T23:19:44.62Z
            [cards:protected] => 
            [given_name:protected] => Amelia
            [family_name:protected] => Earhart
            [nickname:protected] => 
            [company_name:protected] => 
            [email_address:protected] => Amelia.Earhart@example.com
            [address:protected] => SquareConnect\Model\Address Object
                (
                    [address_line_1:protected] => 500 Electric Ave
                    [address_line_2:protected] => Suite 600
                    [address_line_3:protected] => 
                    [locality:protected] => New York
                    [sublocality:protected] => 
                    [sublocality_2:protected] => 
                    [sublocality_3:protected] => 
                    [administrative_district_level_1:protected] => NY
                    [administrative_district_level_2:protected] => 
                    [administrative_district_level_3:protected] => 
                    [postal_code:protected] => 10003
                    [country:protected] => US
                    [first_name:protected] => 
                    [last_name:protected] => 
                    [organization:protected] => 
                )

            [phone_number:protected] => 1-555-555-0122
            [reference_id:protected] => YOUR_REFERENCE_ID
            [note:protected] => a customer
            [preferences:protected] => SquareConnect\Model\CustomerPreferences Object
                (
                    [email_unsubscribed:protected] => 
                )

            [groups:protected] => 
        )

)

现在我需要创建客户卡以与客户关联以用于未来的定期付款。

$createcard_api = new \SquareConnect\Api\CustomersApi();
$createcard_result = $createcard_api->createCustomerCard($createcustomer_result->getId(), array(
  'card_nonce' => $nonce,
  'billing_address' => array(
    'address_line_1' => '1455 Market St',
    'address_line_2' => 'Suite 600',
    'locality' => 'San Francisco',
    'administrative_district_level_1' => 'CA',
    'postal_code' => '94103',
    'country' => 'US'
  ),
  'cardholder_name' => 'Amelia Earhart'
));

据我了解,方形 SDK 有一个内置函数,即getId(),根据this,它被称为$customer->getId(),但根据this,我只需要添加->getId()到我的createCustomer 对象。

所以我试图将getId() 函数称为

$createcustomer_result->getId()

但在我的代码中出现错误

Fatal error: Call to undefined method SquareConnect\Model\CreateCustomerResponse::getId()

如何从createCustomer 正确获取客户 ID?

【问题讨论】:

    标签: php square-connect


    【解决方案1】:

    您仅从 API(一种通信设备)获得响应对象。您需要先从响应中提取创建的对象,然后才能查询它的 ID。

    $customer = $createcustomer_result->getCustomer();
    

    这应该让您获得实际的客户对象,然后您可以:

    $customer_id = $customer->getId();
    

    这对于 API 库来说很常见。如果发生错误,您还可以查询响应对象以查找错误。使用这类库时,请查看各种类的内部并通读函数,您可以更好地了解如何使用它们。

    【讨论】:

    • 您会碰巧知道如何获取 Customercard ID 吗?我尝试使用$createcard_result->getCustomerCard();,但没有奏效。
    • 您在哪里找到getCustomer() 文档?我在任何地方都找不到。
    猜你喜欢
    • 1970-01-01
    • 2014-04-04
    • 2013-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    相关资源
    最近更新 更多