Пытается получить доступ к данным, возвращенным из Stripe API, с помощью Alamofire, но результат недействителен JSON - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь связать приложение Swift с Stripe API, используя Alamofire, но у меня возникают проблемы с возвращаемыми результатами. Я ожидал действительного JSON, но получаю следующее:

Stripe\SetupIntent JSON: {
    "id": "seti_1Go**************g4qyJgp",
    "object": "setup_intent",
    "application": null,
    "cancellation_reason": null,
    "client_secret": "seti_1Go***************gp_secret_HM*******************ObpHy7Mk",
    "created": 1590784053,
    "customer": "cus_H*********Tna",
    "description": null,
    "last_setup_error": null,
    "livemode": false,
    "mandate": null,
    "metadata": [],
    "next_action": null,
    "on_behalf_of": null,
    "payment_method": null,
    "payment_method_options": {
        "card": {
            "request_three_d_secure": "automatic"
        }
    },
    "payment_method_types": [
        "card"
    ],
    "single_use_mandate": null,
    "status": "requires_payment_method",
    "usage": "off_session"
}

Я использую следующий код PHP:

$customer = \Stripe\Customer::create();
$setupIntent = \Stripe\SetupIntent::create([
    'customer' => $customer->id
]);

$this->response($setupIntent, 200);

Как я могу получить JSON внутри этого объекта? Я попытался преобразовать его в json, но ничего не получил. Аламофайру не нравится то, что есть сейчас. Нужно ли как-то убирать "Stripe \ SetupIntent JSON:"?

1 Ответ

1 голос
/ 30 мая 2020

Вы можете получить доступ к json объекту body, который вернулся из API, с помощью getLastResponse():

$setupIntent->getLastResponse()->body

edit. Вы также можете использовать json_encode() для создания json из объекта самостоятельно:

json_encode($setupIntent)
...