Ошибка API Stripe - «Получен неизвестный параметр: источник» - PullRequest
0 голосов
/ 02 мая 2019

Создание сайта подписки в коде wix. Я продолжаю получать 400 неизвестных параметров: ошибка источника. (/ Subscripton)

если вы можете определить, где я иду не так, это будет оценено. спасибо!

import { fetch } from 'wix-fetch';

export async function subscription(token, item) {

    const cart = item;

    const apiKey = "PRIVATEAPI";

    const response = await
    fetch("https://api.stripe.com/v1/subscriptions", {

        method: 'post',

        headers: {

            "Content-Type": "application/x-www-form-urlencoded",

            "Authorization": "Bearer " + apiKey

        },

        body: encodeBody(token, cart)
    });
    if (response.status >= 200 && response.status < 300) {

        const ret = await response.json();

        return { "chargeId": ret.id };

    }

    let res = await response.json(); 

    let err = res.error.message;

    let code = res.error.code;

    let type = res.error.type;

    return { "error": err, "code": code, "type": type };

}

 function encodeBody(token, cart) {

    let encoded = "";

    for (let [k, v] of Object.entries(cart)) {

        encoded = encoded.concat(k, "=", encodeURI(v), "&");
    }
     encoded = encoded.concat("source=", encodeURI(token));
     return encoded;
}

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Добро пожаловать в StackOverflow!

Похоже, вы создаете подписку. Согласно документации API: https://stripe.com/docs/api/subscriptions/create?lang=ruby

customer - обязательный параметр при создании подписок в Stripe. Сначала вам нужно будет создать Клиента, приложив к нему токенизированную карту в качестве источника. Затем вы можете создать подписку, передав customer: customer.id

Кроме того, этот запрос выполняется на стороне клиента? Запросы, сделанные с вашим секретным ключом API, должны быть сделаны из вашего серверного кода и предпочтительно с использованием библиотек API Stripe: https://stripe.com/docs/libraries

Поскольку вы используете подписки, вам также следует ознакомиться с новой версией Stripe Checkout (https://stripe.com/docs/payments/checkout),, позволяющей создавать подписки с помощью клиентского кода всего несколькими строками кода!

0 голосов
/ 02 мая 2019

Вы, вероятно, передаете дополнительные ключи, которые вы не ожидаете, когда звоните encodeBody(token, cart).

Вы должны убедиться, что все ключи, которые вы передаете token и cart, действительны в соответствии с документацией на https://stripe.com/docs/api/subscriptions/create.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...