Skip to content

Commit

Permalink
Merge pull request #869 from recurly/v3-v2021-02-25-7117510228
Browse files Browse the repository at this point in the history
Generated Latest Changes for v2021-02-25 (External Payment Phases)
  • Loading branch information
ELepolt authored Dec 6, 2023
2 parents f0214ac + 8396aad commit ea8baff
Show file tree
Hide file tree
Showing 7 changed files with 281 additions and 4 deletions.
35 changes: 35 additions & 0 deletions lib/recurly/client/operations.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4433,6 +4433,41 @@ def show_external_invoice(external_invoice_id:, **options)
get(path, **options)
end

# List the external payment phases on an external subscription
#
# {https://developers.recurly.com/api/v2021-02-25#operation/list_external_subscription_external_payment_phases list_external_subscription_external_payment_phases api documentation}
#
# @param external_subscription_id [String] External subscription id
# @param params [Hash] Optional query string parameters:
# :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
# order. In descending order updated records will move behind the cursor and could
# prevent some records from being returned.
#
# :limit [Integer] Limit number of records 1-200.
# :order [String] Sort order.
#
# @return [Pager<Resources::ExternalPaymentPhase>] A list of the the external_payment_phases on a site.
#
def list_external_subscription_external_payment_phases(external_subscription_id:, **options)
path = interpolate_path("/external_subscriptions/{external_subscription_id}/external_payment_phases", external_subscription_id: external_subscription_id)
pager(path, **options)
end

# Fetch an external payment_phase
#
# {https://developers.recurly.com/api/v2021-02-25#operation/get_external_subscription_external_payment_phase get_external_subscription_external_payment_phase api documentation}
#
# @param external_subscription_id [String] External subscription id
# @param external_payment_phase_id [String] External payment phase ID, e.g. +a34ypb2ef9w1+.
# @param params [Hash] Optional query string parameters:
#
# @return [Resources::ExternalPaymentPhase] Details for an external payment_phase.
#
def get_external_subscription_external_payment_phase(external_subscription_id:, external_payment_phase_id:, **options)
path = interpolate_path("/external_subscriptions/{external_subscription_id}/external_payment_phases/{external_payment_phase_id}", external_subscription_id: external_subscription_id, external_payment_phase_id: external_payment_phase_id)
get(path, **options)
end

# List entitlements granted to an account
#
# {https://developers.recurly.com/api/v2021-02-25#operation/list_entitlements list_entitlements api documentation}
Expand Down
4 changes: 4 additions & 0 deletions lib/recurly/requests/subscription_create.rb
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@ class SubscriptionCreate < Request
# @return [String] This will default to the Customer Notes text specified on the Invoice Settings. Specify custom notes to add or override Customer Notes. Custom notes will stay with a subscription on all renewals.
define_attribute :customer_notes, String

# @!attribute gateway_code
# @return [String] If present, this subscription's transactions will use the payment gateway with this code.
define_attribute :gateway_code, String

# @!attribute gift_card_redemption_code
# @return [String] A gift card redemption code to be redeemed on the purchase invoice.
define_attribute :gift_card_redemption_code, String
Expand Down
70 changes: 70 additions & 0 deletions lib/recurly/resources/external_payment_phase.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# This file is automatically created by Recurly's OpenAPI generation process
# and thus any edits you make by hand will be lost. If you wish to make a
# change to this file, please create a Github issue explaining the changes you
# need and we will usher them to the appropriate places.
module Recurly
module Resources
class ExternalPaymentPhase < Resource

# @!attribute amount
# @return [String] Allows up to 9 decimal places
define_attribute :amount, String

# @!attribute created_at
# @return [DateTime] When the external subscription was created in Recurly.
define_attribute :created_at, DateTime

# @!attribute currency
# @return [String] 3-letter ISO 4217 currency code.
define_attribute :currency, String

# @!attribute ending_billing_period_index
# @return [Integer] Ending Billing Period Index
define_attribute :ending_billing_period_index, Integer

# @!attribute ends_at
# @return [DateTime] Ends At
define_attribute :ends_at, DateTime

# @!attribute external_subscription
# @return [ExternalSubscription] Subscription from an external resource such as Apple App Store or Google Play Store.
define_attribute :external_subscription, :ExternalSubscription

# @!attribute id
# @return [String] System-generated unique identifier for an external payment phase ID, e.g. `e28zov4fw0v2`.
define_attribute :id, String

# @!attribute object
# @return [String] Object type
define_attribute :object, String

# @!attribute offer_name
# @return [String] Name of the discount offer given, e.g. "introductory"
define_attribute :offer_name, String

# @!attribute offer_type
# @return [String] Type of discount offer given, e.g. "FREE_TRIAL"
define_attribute :offer_type, String

# @!attribute period_count
# @return [Integer] Number of billing periods
define_attribute :period_count, Integer

# @!attribute period_length
# @return [String] Billing cycle length
define_attribute :period_length, String

# @!attribute started_at
# @return [DateTime] Started At
define_attribute :started_at, DateTime

# @!attribute starting_billing_period_index
# @return [Integer] Starting Billing Period Index
define_attribute :starting_billing_period_index, Integer

# @!attribute updated_at
# @return [DateTime] When the external subscription was updated in Recurly.
define_attribute :updated_at, DateTime
end
end
end
2 changes: 1 addition & 1 deletion lib/recurly/resources/invoice.rb
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ class Invoice < Resource
define_attribute :tax, Float

# @!attribute tax_info
# @return [TaxInfo] Tax info
# @return [TaxInfo] Only for merchants using Recurly's In-The-Box taxes.
define_attribute :tax_info, :TaxInfo

# @!attribute terms_and_conditions
Expand Down
2 changes: 1 addition & 1 deletion lib/recurly/resources/line_item.rb
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ class LineItem < Resource
define_attribute :tax_inclusive, :Boolean

# @!attribute tax_info
# @return [TaxInfo] Tax info
# @return [TaxInfo] Only for merchants using Recurly's In-The-Box taxes.
define_attribute :tax_info, :TaxInfo

# @!attribute taxable
Expand Down
4 changes: 2 additions & 2 deletions lib/recurly/resources/subscription.rb
Original file line number Diff line number Diff line change
Expand Up @@ -175,15 +175,15 @@ class Subscription < Resource
define_attribute :subtotal, Float

# @!attribute tax
# @return [Float] Estimated tax
# @return [Float] Only for merchants using Recurly's In-The-Box taxes.
define_attribute :tax, Float

# @!attribute tax_inclusive
# @return [Boolean] Determines whether or not tax is included in the unit amount. The Tax Inclusive Pricing feature (separate from the Mixed Tax Pricing feature) must be enabled to utilize this flag.
define_attribute :tax_inclusive, :Boolean

# @!attribute tax_info
# @return [TaxInfo] Tax info
# @return [TaxInfo] Only for merchants using Recurly's In-The-Box taxes.
define_attribute :tax_info, :TaxInfo

# @!attribute terms_and_conditions
Expand Down
168 changes: 168 additions & 0 deletions openapi/api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,7 @@ x-tagGroups:
- external_products
- external_accounts
- external_product_references
- external_payment_phases
- name: Products and Promotions
tags:
- item
Expand Down Expand Up @@ -366,6 +367,11 @@ tags:
x-displayName: External Product Reference
description: Associates an external product to a corresponding resource on an external
platform like the Apple App Store or Google Play Store.
- name: external_payment_phases
x-displayName: External Payment Phase
description: Details of payments in the lifecycle of a subscription from an external
resource that is not managed by the Recurly platform, e.g. App Store or Google
Play Store.
- name: gift_cards
x-displayName: Gift Cards
description: Add gift card purchases to your checkout and allow gift card recipients
Expand Down Expand Up @@ -15918,6 +15924,69 @@ paths:
schema:
"$ref": "#/components/schemas/Error"
x-code-samples: []
"/external_subscriptions/{external_subscription_id}/external_payment_phases":
parameters:
- "$ref": "#/components/parameters/external_subscription_id"
get:
tags:
- external_subscriptions
operationId: list_external_subscription_external_payment_phases
summary: List the external payment phases on an external subscription
description: See the [Pagination Guide](/developers/guides/pagination.html)
to learn how to use pagination in the API and Client Libraries.
parameters:
- "$ref": "#/components/parameters/sort_dates"
- "$ref": "#/components/parameters/limit"
- "$ref": "#/components/parameters/order"
responses:
'200':
description: A list of the the external_payment_phases on a site.
content:
application/json:
schema:
"$ref": "#/components/schemas/ExternalPaymentPhaseList"
'404':
description: Incorrect site.
content:
application/json:
schema:
"$ref": "#/components/schemas/Error"
default:
description: Unexpected error.
content:
application/json:
schema:
"$ref": "#/components/schemas/Error"
x-code-samples: []
"/external_subscriptions/{external_subscription_id}/external_payment_phases/{external_payment_phase_id}":
parameters:
- "$ref": "#/components/parameters/external_subscription_id"
- "$ref": "#/components/parameters/external_payment_phase_id"
get:
tags:
- external_payment_phases
operationId: get_external_subscription_external_payment_phase
summary: Fetch an external payment_phase
responses:
'200':
description: Details for an external payment_phase.
content:
application/json:
schema:
"$ref": "#/components/schemas/ExternalPaymentPhase"
'404':
description: Incorrect site or external subscription ID.
content:
application/json:
schema:
"$ref": "#/components/schemas/Error"
default:
description: Unexpected error.
content:
application/json:
schema:
"$ref": "#/components/schemas/Error"
x-code-samples: []
"/accounts/{account_id}/entitlements":
parameters:
- "$ref": "#/components/parameters/account_id"
Expand Down Expand Up @@ -16355,6 +16424,13 @@ components:
required: true
schema:
type: string
external_payment_phase_id:
name: external_payment_phase_id
in: path
description: External payment phase ID, e.g. `a34ypb2ef9w1`.
required: true
schema:
type: string
invoice_template_id:
name: invoice_template_id
in: path
Expand Down Expand Up @@ -21633,6 +21709,7 @@ components:
type: number
format: float
title: Estimated tax
description: Only for merchants using Recurly's In-The-Box taxes.
tax_info:
"$ref": "#/components/schemas/TaxInfo"
total:
Expand Down Expand Up @@ -22464,6 +22541,12 @@ components:
default: 0
net_terms_type:
"$ref": "#/components/schemas/NetTermsTypeEnum"
gateway_code:
type: string
title: Gateway Code
description: If present, this subscription's transactions will use the payment
gateway with this code.
maxLength: 13
transaction_type:
description: An optional type designation for the payment gateway transaction
created by this request. Supports 'moto' value, which is the acronym for
Expand Down Expand Up @@ -22805,6 +22888,7 @@ components:
TaxInfo:
type: object
title: Tax info
description: Only for merchants using Recurly's In-The-Box taxes.
properties:
type:
type: string
Expand Down Expand Up @@ -23646,6 +23730,90 @@ components:
type: string
format: date-time
description: Time the object was last updated
ExternalPaymentPhase:
type: object
description: Details of payments in the lifecycle of a subscription from an
external resource that is not managed by the Recurly platform, e.g. App Store
or Google Play Store.
properties:
id:
type: string
title: External payment phase ID
description: System-generated unique identifier for an external payment
phase ID, e.g. `e28zov4fw0v2`.
object:
type: string
title: Object type
external_subscription:
"$ref": "#/components/schemas/ExternalSubscription"
started_at:
type: string
format: date-time
title: Started At
ends_at:
type: string
format: date-time
title: Ends At
starting_billing_period_index:
type: integer
title: Starting Billing Period Index
ending_billing_period_index:
type: integer
title: Ending Billing Period Index
offer_type:
type: string
title: Offer Type
description: Type of discount offer given, e.g. "FREE_TRIAL"
offer_name:
type: string
title: Offer Name
description: Name of the discount offer given, e.g. "introductory"
period_count:
type: integer
title: Period Count
description: Number of billing periods
period_length:
type: string
title: Period Length
description: Billing cycle length
amount:
type: string
format: decimal
title: Amount
minimum: 0
description: Allows up to 9 decimal places
currency:
type: string
title: Currency
description: 3-letter ISO 4217 currency code.
maxLength: 3
created_at:
type: string
format: date-time
title: Created at
description: When the external subscription was created in Recurly.
updated_at:
type: string
format: date-time
title: Updated at
description: When the external subscription was updated in Recurly.
ExternalPaymentPhaseList:
type: object
properties:
object:
type: string
title: Object type
description: Will always be List.
has_more:
type: boolean
description: Indicates there are more results on subsequent pages.
next:
type: string
description: Path to subsequent page of results.
data:
type: array
items:
"$ref": "#/components/schemas/ExternalPaymentPhase"
ExternalProduct:
type: object
description: Product from an external resource such as Apple App Store or Google
Expand Down

0 comments on commit ea8baff

Please sign in to comment.