Merge pull request #716 from stripe/remi-add-checkout-sessions

Add support for Checkout Sessions
This commit is contained in:
remi-stripe 2018-12-21 09:39:19 +01:00 committed by GitHub
commit b99ed974d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 46 additions and 2 deletions

View File

@ -17,7 +17,7 @@ sudo: false
env:
global:
# If changing this number, please also change it in `test/test_helper.rb`.
- STRIPE_MOCK_VERSION=0.39.0
- STRIPE_MOCK_VERSION=0.40.0
cache:
directories:

View File

@ -49,6 +49,7 @@ require "stripe/bitcoin_receiver"
require "stripe/bitcoin_transaction"
require "stripe/card"
require "stripe/charge"
require "stripe/checkout_session"
require "stripe/country_spec"
require "stripe/coupon"
require "stripe/customer"

View File

@ -0,0 +1,9 @@
# frozen_string_literal: true
module Stripe
class CheckoutSession < APIResource
extend Stripe::APIOperations::Create
OBJECT_NAME = "checkout_session".freeze
end
end

View File

@ -58,6 +58,7 @@ module Stripe
BitcoinTransaction::OBJECT_NAME => BitcoinTransaction,
Card::OBJECT_NAME => Card,
Charge::OBJECT_NAME => Charge,
CheckoutSession::OBJECT_NAME => CheckoutSession,
CountrySpec::OBJECT_NAME => CountrySpec,
Coupon::OBJECT_NAME => Coupon,
Customer::OBJECT_NAME => Customer,

View File

@ -0,0 +1,33 @@
# frozen_string_literal: true
require ::File.expand_path("../../test_helper", __FILE__)
module Stripe
class CheckoutSessionTest < Test::Unit::TestCase
should "be creatable" do
session = Stripe::CheckoutSession.create(
allowed_source_types: ["card"],
cancel_url: "https://stripe.com/cancel",
client_reference_id: "1234",
line_items: [
{
amount: 123,
currency: "usd",
description: "item 1",
images: [
"https://stripe.com/img1",
],
name: "name",
quantity: 2,
},
],
payment_intent_data: [
receipt_email: "test@stripe.com",
],
success_url: "https://stripe.com/success"
)
assert_requested :post, "#{Stripe.api_base}/v1/checkout_sessions"
assert session.is_a?(Stripe::CheckoutSession)
end
end
end

View File

@ -16,7 +16,7 @@ PROJECT_ROOT = ::File.expand_path("../../", __FILE__)
require ::File.expand_path("../test_data", __FILE__)
# If changing this number, please also change it in `.travis.yml`.
MOCK_MINIMUM_VERSION = "0.39.0".freeze
MOCK_MINIMUM_VERSION = "0.40.0".freeze
MOCK_PORT = ENV["STRIPE_MOCK_PORT"] || 12_111
# Disable all real network connections except those that are outgoing to