Skip to content

Commit

Permalink
Merge pull request #665 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 38c9860 + 8c1c8f5 commit 7781524
Show file tree
Hide file tree
Showing 3 changed files with 298 additions and 4 deletions.
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
71 changes: 71 additions & 0 deletions recurly/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -5048,6 +5048,77 @@ def show_external_invoice(self, external_invoice_id, **options):
path = self._interpolate_path("/external_invoices/%s", external_invoice_id)
return self._make_request("GET", path, None, **options)

def list_external_subscription_external_payment_phases(
self, external_subscription_id, **options
):
"""List the external payment phases on an external subscription
Parameters
----------
external_subscription_id : str
External subscription id
Keyword Arguments
-----------------
headers : dict
Extra HTTP headers to send with the request.
params : dict
Query Parameters.
params.sort : str
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.
params.limit : int
Limit number of records 1-200.
params.order : str
Sort order.
Returns
-------
Pager
A list of the the external_payment_phases on a site.
"""
path = self._interpolate_path(
"/external_subscriptions/%s/external_payment_phases",
external_subscription_id,
)
return Pager(self, path, **options)

def get_external_subscription_external_payment_phase(
self, external_subscription_id, external_payment_phase_id, **options
):
"""Fetch an external payment_phase
Parameters
----------
external_subscription_id : str
External subscription id
external_payment_phase_id : str
External payment phase ID, e.g. `a34ypb2ef9w1`.
Keyword Arguments
-----------------
headers : dict
Extra HTTP headers to send with the request.
Returns
-------
ExternalPaymentPhase
Details for an external payment_phase.
"""
path = self._interpolate_path(
"/external_subscriptions/%s/external_payment_phases/%s",
external_subscription_id,
external_payment_phase_id,
)
return self._make_request("GET", path, None, **options)

def list_entitlements(self, account_id, **options):
"""List entitlements granted to an account
Expand Down
63 changes: 59 additions & 4 deletions recurly/resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -1449,7 +1449,7 @@ class Invoice(Resource):
tax : float
The total tax on this invoice.
tax_info : TaxInfo
Tax info
Only for merchants using Recurly's In-The-Box taxes.
terms_and_conditions : str
This will default to the Terms and Conditions text specified on the Invoice Settings page in your Recurly admin. Specify custom notes to add or override Terms and Conditions.
total : float
Expand Down Expand Up @@ -1716,7 +1716,7 @@ class LineItem(Resource):
tax_inclusive : bool
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.
tax_info : TaxInfo
Tax info
Only for merchants using Recurly's In-The-Box taxes.
taxable : bool
`true` if the line item is taxable, `false` if it is not.
type : str
Expand Down Expand Up @@ -1961,11 +1961,11 @@ class Subscription(Resource):
subtotal : float
Estimated total, before tax.
tax : float
Estimated tax
Only for merchants using Recurly's In-The-Box taxes.
tax_inclusive : bool
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.
tax_info : TaxInfo
Tax info
Only for merchants using Recurly's In-The-Box taxes.
terms_and_conditions : str
Terms and conditions
total : float
Expand Down Expand Up @@ -3383,6 +3383,61 @@ class InvoiceTemplate(Resource):
}


class ExternalPaymentPhase(Resource):
"""
Attributes
----------
amount : str
Allows up to 9 decimal places
created_at : datetime
When the external subscription was created in Recurly.
currency : str
3-letter ISO 4217 currency code.
ending_billing_period_index : int
Ending Billing Period Index
ends_at : datetime
Ends At
external_subscription : ExternalSubscription
Subscription from an external resource such as Apple App Store or Google Play Store.
id : str
System-generated unique identifier for an external payment phase ID, e.g. `e28zov4fw0v2`.
object : str
Object type
offer_name : str
Name of the discount offer given, e.g. "introductory"
offer_type : str
Type of discount offer given, e.g. "FREE_TRIAL"
period_count : int
Number of billing periods
period_length : str
Billing cycle length
started_at : datetime
Started At
starting_billing_period_index : int
Starting Billing Period Index
updated_at : datetime
When the external subscription was updated in Recurly.
"""

schema = {
"amount": str,
"created_at": datetime,
"currency": str,
"ending_billing_period_index": int,
"ends_at": datetime,
"external_subscription": "ExternalSubscription",
"id": str,
"object": str,
"offer_name": str,
"offer_type": str,
"period_count": int,
"period_length": str,
"started_at": datetime,
"starting_billing_period_index": int,
"updated_at": datetime,
}


class Entitlements(Resource):
"""
Attributes
Expand Down

0 comments on commit 7781524

Please sign in to comment.