#reactjs #file #stripe-payments
Вопрос:
Я пытаюсь загрузить файл в Stripe через их SDK, и я продолжаю получать сообщение об ошибке
TypeError: First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.
это мой код :
const [selectedFile, setSelectedFile] = useState(null);
sdk.stripeAccount.fetch().then(res => {
return stripe.files.create({
purpose: 'identity_document',
file: {
data: selectedFile,
name: selectedFile.name,
type: 'application/octet-stream',
},
}).then(response => {
console.log(response)
console.log(res.data.data)
});
}).catch(error => console.log(error))
...........
const onFileChange = (event) => {
setSelectedFile(event.target.files[0]);
}
<input type="file" id={`${props.fieldId}.frontId`} onChange={props.onFileChange}/>
Все это происходит во внешнем интерфейсе. Как я могу преобразовать файл в правильный формат, чтобы не получить ошибку ?
Комментарии:
1. Похоже, что вы пытаетесь использовать пакет stripe-node на интерфейсе. Это чрезвычайно опасно, так как для работы требуется секретный ключ, а это означает, что вы раскрываете свой ключ всем. stripe-узел и ваш секретный ключ API должны использоваться только на сервере, где он может храниться в безопасности. Вам нужно загрузить файл на свой сервер, а затем выполнить передачу в Stripe через stripe-узел.