Create a new payment entry in db when called POST /paypal/preapproval
Don't need to have attribute 'kind' for action /paypal/pay
Add a validator for model Payment
Add a new method Payment.createSingle
Use Payment.createSingle in API POST /paypal/pay
Refactor, move call to PaymentSchema.pre('save') from model/schema to model/method
Refactor, extrac two new methods Payment.createRecurring & Payment#composePreapprovalRequest
Change attribute callback as required