【问题标题】:ERROR: TypeError: Cannot read property 'create' of undefined on stripe.fileUploads.create错误:TypeError:无法读取 stripe.fileUploads.create 上未定义的属性“创建”
【发布时间】:2020-01-05 11:53:30
【问题描述】:

当我尝试使用 stripe.fileUploads.create 时,我发现 create 是未定义的?

错误:类型错误:无法读取未定义的属性“创建”

我使用 node.js https://stripe.com/docs/api/files/create 中的 stripe/typings 库遵循文档中的请求格式

/**
 * "@types/stripe": "^6.31.23"
 * "stripe": "^7.8.0" */

import * as Stripe from 'stripe';
const stripe = new Stripe('mykey');

function uploadFileToStripe(fileUrl:string,fileType:string,fileName:string):Promise<Stripe.fileUploads.IFileUpdate>{
    const upload: Promise<Stripe.fileUploads.IFileUpdate> = 
    stripe.fileUploads.create(
        {
            file: {
                data: fileUrl,
                name: fileName,
                type: 'image/jpeg',
            },
            purpose: 'identity_document',
        }
    );
    return upload.then(
        (document: Stripe.fileUploads.IFileUpdate) => {
            console.log('Document upload ', document);
            return document;
        }   
    ).catch(
        (_error: any) => {
            console.log('Error uploading document ', _error);
            return _error;
        }
    );
}

【问题讨论】:

    标签: node.js google-cloud-functions stripe-payments typescript-typings


    【解决方案1】:

    我认为您没有正确初始化库。

    如 Stripe 的文档中所述,不需要类构造函数(“new”):

    const stripe = require("stripe")("sk_test_4eC39HqLyjWDarjtT1zdp7dc")
    

    请尝试如下导入库:

    import Stripe from 'stripe'
    const stripe = Stripe('mykey')
    

    编辑:

    请按如下方式导入库:

    import { Stripe } from 'stripe';
    const stripe = Stripe('sk_test_4eC39HqLyjWDarjtT1zdp7dc')
    

    我刚刚在本地测试了代码,它可以工作。

    要使用create 方法,您必须访问files 键,因为filesUpload 不存在:

    stripe.files.create(...)
    

    【讨论】:

    • 这是必需的,因为这是打字稿
    猜你喜欢
    • 2020-10-15
    • 2020-05-28
    • 2021-08-30
    • 1970-01-01
    • 2022-12-24
    • 2023-02-26
    • 2017-05-05
    • 2019-04-05
    相关资源
    最近更新 更多