Sequelize Transaction Error at Non-Sequlize, Stripe API Action

I have a sign up flow promise chain that creates multiple database records and Stripe records. Originally I had constructed this flow without transactions and can verify that the code works. However, when I decided to use transactions as a way to ensure that all records are created, I am getting hung up when my promise creates Stripe records. Unhandled rejection TypeError: Path must be a string. Received undefined is the error that I am given, but I’m not sure what it is related to within the context of that portion of the chain. Could it be a Promise related issue or Sequelize related?

In the promises current state, it gets down to console.log('About to create Stripe customer'); and then the error above appears.

Here is my Promise chain:

var organization;
var user;
var customer;

    return models.sequelize.transaction(function (t){
        console.log('About to create organization');
        return models.Organization.create({
            ...
        }, {transaction: t}).then(function(_organization){
            organization = _organization;
            console.log('About to create user');
            return models.User.create({
                ...
            }, {transaction: t}).then(function(_user){
                console.log('About to attach user to organization');
                user = _user;
                return user.setOrganizations([organization.organizationId], 
                { 
                    transaction: t
                }).then(function(){
                    console.log('About to create Stripe customer');
                    stripe.customers.create({
                        email: req.body.email,
                        metadata: {
                            ...
                        }
                    }, {transaction: t}).then(function(_customer){
                        console.log('About to create Stripe subscription');
                        customer = _customer;
                        stripe.subscriptions.create({
                            ...
                        }).then(function(subscription){
                            console.log('About to create account');
                            return models.Account.create({
                                ...
                            }, {transaction: t});
                        });
                    });
                });
            });
        });
    }).then(function(){//End Chain
            done(null, user);
    //End transaction
    }).catch(function(err){
        console.log(err);
        done(null, false, req.flash('error', err));
    });

Full Terminal output:

Executing (2b333db1-e13f-4282-9a3c-cf2c065aeb21): START TRANSACTION;
Executing (2b333db1-e13f-4282-9a3c-cf2c065aeb21): SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
About to create organization
Executing (2b333db1-e13f-4282-9a3c-cf2c065aeb21): INSERT INTO "organization" ("organization_id","organization_name","admin","updated_at","created_at") VALUES (DEFAULT,'ndsjfndsf','tessspdn@te.somc','2017-04-22 17:25:42.290 -04:00','2017-04-22 17:25:42.290 -04:00') RETURNING *;
About to create user
Executing (2b333db1-e13f-4282-9a3c-cf2c065aeb21): INSERT INTO "user" ("user_id","first_name","last_name","email","password","updated_at","created_at") VALUES (DEFAULT,'Ndsf','Dns','tessspdn@te.somc','$2a$10$xhGyG4iD78HselgBUlPtFOJj604UPbq0W0YaXlfsdxnMj4xMmll8m','2017-04-22 17:25:42.611 -04:00','2017-04-22 17:25:42.611 -04:00') RETURNING *;
About to attach user to organization
Executing (2b333db1-e13f-4282-9a3c-cf2c065aeb21): SELECT "created_at", "updated_at", "user_id", "organization_id" FROM "organization_member" AS "organization_member" WHERE "organization_member"."user_id" = 62;
Executing (2b333db1-e13f-4282-9a3c-cf2c065aeb21): INSERT INTO "organization_member" ("user_id","organization_id","created_at","updated_at") VALUES (62,43,'2017-04-22 17:25:42.623 -04:00','2017-04-22 17:25:42.623 -04:00');
About to create Stripe customer
Executing (2b333db1-e13f-4282-9a3c-cf2c065aeb21): COMMIT;
Unhandled rejection TypeError: Path must be a string. Received undefined


Source: stackoverflow-javascript