create a customer when a payment happens
This commit is contained in:
parent
92f6569f9f
commit
fcfd2be41b
|
@ -11,12 +11,22 @@ module DiscourseSubscriptions
|
|||
|
||||
def create
|
||||
begin
|
||||
customer = ::Stripe::Customer.create(
|
||||
email: current_user.email,
|
||||
)
|
||||
|
||||
DiscourseSubscriptions::Customer.create(
|
||||
user_id: current_user.id,
|
||||
customer_id: customer[:id],
|
||||
)
|
||||
|
||||
payment = ::Stripe::PaymentIntent.create(
|
||||
payment_method_types: ['card'],
|
||||
payment_method: params[:payment_method],
|
||||
amount: params[:amount],
|
||||
currency: params[:currency],
|
||||
confirm: true
|
||||
confirm: true,
|
||||
customer: customer[:id],
|
||||
)
|
||||
|
||||
render_json_dump payment
|
||||
|
|
|
@ -25,12 +25,17 @@ module DiscourseSubscriptions
|
|||
|
||||
describe "create" do
|
||||
it "creates a payment intent" do
|
||||
::Stripe::Customer.expects(:create).with(
|
||||
email: user.email
|
||||
).returns(id: 'cus_87653')
|
||||
|
||||
::Stripe::PaymentIntent.expects(:create).with(
|
||||
payment_method_types: ['card'],
|
||||
payment_method: 'pm_123',
|
||||
amount: '999',
|
||||
currency: 'gdp',
|
||||
confirm: true
|
||||
confirm: true,
|
||||
customer: 'cus_87653'
|
||||
)
|
||||
|
||||
post "/s/payments.json", params: {
|
||||
|
|
Loading…
Reference in New Issue