Async/await help, please

It this case it might be more convenient to make payNow() async and reorganise it as:

async function payNow() {
    const token = await createToken(encodeCard(createCard()));
    console.log('Token: ', token);
    const chargeResponse = await charge(token);
    console.log('Charge ID: ', chargeResponse.id;
}

The code is equivalent, but it is easier to track of what needs to be passed where. When inside of async function, you can always refactor this

asyncFunction().then(result => process(result))

to this

const result = await asyncFunction();
process(result);

I hope this helps! Let me know.