recurly 4.11.0 → 4.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.bumpversion.cfg +1 -1
- data/CHANGELOG.md +35 -0
- data/GETTING_STARTED.md +9 -1
- data/lib/recurly/client/operations.rb +250 -134
- data/lib/recurly/client.rb +14 -2
- data/lib/recurly/errors/api_errors.rb +2 -0
- data/lib/recurly/requests/account_create.rb +5 -1
- data/lib/recurly/requests/account_purchase.rb +5 -1
- data/lib/recurly/requests/account_update.rb +5 -1
- data/lib/recurly/requests/add_on_create.rb +2 -2
- data/lib/recurly/requests/billing_info_create.rb +9 -1
- data/lib/recurly/requests/line_item_create.rb +2 -2
- data/lib/recurly/requests/plan_create.rb +1 -1
- data/lib/recurly/requests/plan_update.rb +1 -1
- data/lib/recurly/requests/subscription_add_on_tier.rb +1 -1
- data/lib/recurly/requests/tier.rb +1 -1
- data/lib/recurly/resources/account.rb +5 -1
- data/lib/recurly/resources/account_mini.rb +1 -1
- data/lib/recurly/resources/add_on.rb +4 -0
- data/lib/recurly/resources/invoice.rb +5 -1
- data/lib/recurly/resources/invoice_template.rb +34 -0
- data/lib/recurly/resources/line_item.rb +3 -3
- data/lib/recurly/resources/percentage_tier.rb +18 -0
- data/lib/recurly/resources/percentage_tiers_by_currency.rb +18 -0
- data/lib/recurly/resources/plan.rb +1 -1
- data/lib/recurly/resources/subscription_add_on.rb +4 -0
- data/lib/recurly/resources/subscription_add_on_percentage_tier.rb +18 -0
- data/lib/recurly/resources/subscription_add_on_tier.rb +1 -1
- data/lib/recurly/resources/tier.rb +1 -1
- data/lib/recurly/version.rb +1 -1
- data/openapi/api.yaml +573 -52
- metadata +7 -3
data/openapi/api.yaml
CHANGED
@@ -232,7 +232,7 @@ tags:
|
|
232
232
|
description: |-
|
233
233
|
For merchants who sell the same things to many customers, documenting those offerings in a catalog allows for faster charge creation, easier management of offerings, and analytics about your offerings across all sales channels. Because your offerings can be physical, digital, or service-oriented, Recurly collectively calls these offerings "Items".
|
234
234
|
|
235
|
-
Recurly's item catalog requires the Credit Invoices
|
235
|
+
Recurly's item catalog requires the Credit Invoices features to be enabled.
|
236
236
|
- name: plan
|
237
237
|
x-displayName: Plan
|
238
238
|
description: A plan tells Recurly how often and how much to charge your customers.
|
@@ -6337,6 +6337,51 @@ paths:
|
|
6337
6337
|
{\n\t\tfmt.Printf(\"Resource not found: %v\", e)\n\t\treturn nil, err\n\t}\n\tfmt.Printf(\"Unexpected
|
6338
6338
|
Recurly error: %v\", e)\n\treturn nil, err\n}\nfmt.Printf(\"Fetched Custom
|
6339
6339
|
Field Definition: %s\", definition.Id)"
|
6340
|
+
"/invoice_templates/{invoice_template_id}/accounts":
|
6341
|
+
get:
|
6342
|
+
tags:
|
6343
|
+
- account
|
6344
|
+
operationId: list_invoice_template_accounts
|
6345
|
+
summary: List an invoice template's associated accounts
|
6346
|
+
description: See the [Pagination Guide](/guides/pagination.html) to learn how
|
6347
|
+
to use pagination in the API and Client Libraries.
|
6348
|
+
parameters:
|
6349
|
+
- "$ref": "#/components/parameters/invoice_template_id"
|
6350
|
+
- "$ref": "#/components/parameters/ids"
|
6351
|
+
- "$ref": "#/components/parameters/limit"
|
6352
|
+
- "$ref": "#/components/parameters/order"
|
6353
|
+
- "$ref": "#/components/parameters/sort_dates"
|
6354
|
+
- "$ref": "#/components/parameters/filter_begin_time"
|
6355
|
+
- "$ref": "#/components/parameters/filter_end_time"
|
6356
|
+
- "$ref": "#/components/parameters/filter_account_email"
|
6357
|
+
- "$ref": "#/components/parameters/filter_account_subscriber"
|
6358
|
+
- "$ref": "#/components/parameters/filter_account_past_due"
|
6359
|
+
responses:
|
6360
|
+
'200':
|
6361
|
+
description: A list of an invoice template's associated accounts.
|
6362
|
+
content:
|
6363
|
+
application/json:
|
6364
|
+
schema:
|
6365
|
+
"$ref": "#/components/schemas/AccountList"
|
6366
|
+
'400':
|
6367
|
+
description: Invalid or unpermitted parameter.
|
6368
|
+
content:
|
6369
|
+
application/json:
|
6370
|
+
schema:
|
6371
|
+
"$ref": "#/components/schemas/Error"
|
6372
|
+
'404':
|
6373
|
+
description: Incorrect site or invoice template ID.
|
6374
|
+
content:
|
6375
|
+
application/json:
|
6376
|
+
schema:
|
6377
|
+
"$ref": "#/components/schemas/Error"
|
6378
|
+
default:
|
6379
|
+
description: Unexpected error.
|
6380
|
+
content:
|
6381
|
+
application/json:
|
6382
|
+
schema:
|
6383
|
+
"$ref": "#/components/schemas/Error"
|
6384
|
+
x-code-samples: []
|
6340
6385
|
"/items":
|
6341
6386
|
get:
|
6342
6387
|
tags:
|
@@ -14220,11 +14265,286 @@ paths:
|
|
14220
14265
|
var_dump($e);
|
14221
14266
|
}
|
14222
14267
|
- lang: Go
|
14223
|
-
source: "
|
14224
|
-
|
14225
|
-
{\n\t\
|
14268
|
+
source: "purchaseReq := &recurly.PurchaseCreate{\n\tCurrency: recurly.String(\"USD\"),\n\tAccount:
|
14269
|
+
&recurly.AccountPurchase{\n\t\tCode: recurly.String(account.Code),\n\t},\n\tSubscriptions:
|
14270
|
+
[]recurly.SubscriptionPurchase{\n\t\t{\n\t\t\tPlanCode: recurly.String(plan.Code),\n\t\t\tNextBillDate:
|
14271
|
+
recurly.Time(time.Date(2078, time.November, 10, 23, 0, 0, 0, time.UTC)),\n\t\t},\n\t},\n\tShipping:
|
14272
|
+
&recurly.ShippingPurchase{\n\t\tAddressId: recurly.String(shippingAddressID),\n\t},\n}\ncollection,
|
14273
|
+
err := client.PreviewPurchase(purchaseReq)\nif e, ok := err.(*recurly.Error);
|
14274
|
+
ok {\n\tif e.Type == recurly.ErrorTypeValidation {\n\t\tfmt.Printf(\"Failed
|
14275
|
+
validation: %v\", e)\n\t\treturn nil, err\n\t}\n\tfmt.Printf(\"Unexpected
|
14226
14276
|
Recurly error: %v\", e)\n\treturn nil, err\n}\nfmt.Printf(\"Preview Charge
|
14227
14277
|
Invoice %v\", collection.ChargeInvoice)"
|
14278
|
+
"/purchases/pending":
|
14279
|
+
post:
|
14280
|
+
tags:
|
14281
|
+
- purchase
|
14282
|
+
operationId: create_pending_purchase
|
14283
|
+
summary: Create a pending purchase
|
14284
|
+
description: |-
|
14285
|
+
A purchase is a hybrid checkout containing at least one or more subscriptions or one-time charges (adjustments) and supports both coupon and gift card redemptions. All items purchased will be on one invoice and paid for with one transaction. A purchase is only a request data type and is not persistent in Recurly and an invoice collection will be the returned type.
|
14286
|
+
|
14287
|
+
Use for **Adyen HPP** and **Online Banking** transaction requests.
|
14288
|
+
This runs the validations but not the transactions.
|
14289
|
+
The API request allows the inclusion of one of the following fields: **external_hpp_type** with `'adyen'` and **online_banking_payment_type** with `'ideal'` or `'sofort'` in the **billing_info** object.
|
14290
|
+
|
14291
|
+
For additional information regarding shipping fees, please see https://docs.recurly.com/docs/shipping
|
14292
|
+
requestBody:
|
14293
|
+
content:
|
14294
|
+
application/json:
|
14295
|
+
schema:
|
14296
|
+
"$ref": "#/components/schemas/PurchaseCreate"
|
14297
|
+
required: true
|
14298
|
+
responses:
|
14299
|
+
'200':
|
14300
|
+
description: Returns the pending invoice
|
14301
|
+
content:
|
14302
|
+
application/json:
|
14303
|
+
schema:
|
14304
|
+
"$ref": "#/components/schemas/InvoiceCollection"
|
14305
|
+
'400':
|
14306
|
+
description: Bad request; perhaps missing or invalid parameters.
|
14307
|
+
content:
|
14308
|
+
application/json:
|
14309
|
+
schema:
|
14310
|
+
"$ref": "#/components/schemas/Error"
|
14311
|
+
'422':
|
14312
|
+
description: Pending purchase cannot be completed for the specified reason.
|
14313
|
+
content:
|
14314
|
+
application/json:
|
14315
|
+
schema:
|
14316
|
+
"$ref": "#/components/schemas/Error"
|
14317
|
+
default:
|
14318
|
+
description: Unexpected error.
|
14319
|
+
content:
|
14320
|
+
application/json:
|
14321
|
+
schema:
|
14322
|
+
"$ref": "#/components/schemas/Error"
|
14323
|
+
x-code-samples:
|
14324
|
+
- lang: Node.js
|
14325
|
+
source: |
|
14326
|
+
try {
|
14327
|
+
const purchaseReq = {
|
14328
|
+
currency: 'EUR',
|
14329
|
+
account: {
|
14330
|
+
code: accountCode,
|
14331
|
+
email: 'example@recurly.com',
|
14332
|
+
billingInfo: {
|
14333
|
+
firstName: 'Benjamin',
|
14334
|
+
lastName: 'Du Monde',
|
14335
|
+
onlineBankingPaymentType: 'ideal'
|
14336
|
+
},
|
14337
|
+
},
|
14338
|
+
lineItems: [
|
14339
|
+
{
|
14340
|
+
currency: 'EUR',
|
14341
|
+
unitAmount: 1000,
|
14342
|
+
type: 'charge'
|
14343
|
+
}
|
14344
|
+
]
|
14345
|
+
};
|
14346
|
+
const invoiceCollection = await client.createPendingPurchase(purchaseReq)
|
14347
|
+
console.log('Created ChargeInvoice with UUID: ', invoiceCollection.chargeInvoice.uuid)
|
14348
|
+
} catch (err) {
|
14349
|
+
if (err instanceof recurly.errors.ValidationError) {
|
14350
|
+
// If the request was not valid, you may want to tell your user
|
14351
|
+
// why. You can find the invalid params and reasons in err.params
|
14352
|
+
console.log('Failed validation', err.params)
|
14353
|
+
} else {
|
14354
|
+
// If we don't know what to do with the err, we should
|
14355
|
+
// probably re-raise and let our web framework and logger handle it
|
14356
|
+
console.log('Unknown Error: ', err)
|
14357
|
+
}
|
14358
|
+
}
|
14359
|
+
- lang: Python
|
14360
|
+
source: |
|
14361
|
+
try:
|
14362
|
+
purchase = {
|
14363
|
+
"currency": "EUR",
|
14364
|
+
"account": {
|
14365
|
+
"code": account_code,
|
14366
|
+
"email": "benjamin@example.com",
|
14367
|
+
"billing_info": {
|
14368
|
+
"first_name": "Benjamin",
|
14369
|
+
"last_name": "Du Monde",
|
14370
|
+
"online_banking_payment_type": "ideal"
|
14371
|
+
}
|
14372
|
+
},
|
14373
|
+
"line_items": [
|
14374
|
+
{
|
14375
|
+
"currency": "EUR",
|
14376
|
+
"unit_amount": 1000,
|
14377
|
+
"type": "charge"
|
14378
|
+
}
|
14379
|
+
],
|
14380
|
+
}
|
14381
|
+
invoice_collection = client.create_pending_purchase(purchase)
|
14382
|
+
print("Created ChargeInvoice with UUID %s" % invoice_collection.charge_invoice.uuid)
|
14383
|
+
except recurly.errors.ValidationError as e:
|
14384
|
+
# If the request was invalid, you may want to tell your user
|
14385
|
+
# why. You can find the invalid params and reasons in e.error.params
|
14386
|
+
print("ValidationError: %s" % e.error.message)
|
14387
|
+
print(e.error.params)
|
14388
|
+
- lang: ".NET"
|
14389
|
+
source: |
|
14390
|
+
try
|
14391
|
+
{
|
14392
|
+
var purchaseReq = new PurchaseCreate()
|
14393
|
+
{
|
14394
|
+
Currency = "EUR",
|
14395
|
+
Account = new AccountPurchase()
|
14396
|
+
{
|
14397
|
+
Code = accountCode,
|
14398
|
+
Email = "benjamin@example.com",
|
14399
|
+
BillingInfo = new BillingInfoCreate()
|
14400
|
+
{
|
14401
|
+
FirstName = "Benjamin",
|
14402
|
+
LastName = "Du Monde",
|
14403
|
+
OnlineBankingPaymentType = OnlineBankingPaymentType.Ideal
|
14404
|
+
}
|
14405
|
+
},
|
14406
|
+
LineItems = new List<LineItemCreate>()
|
14407
|
+
{
|
14408
|
+
new LineItemCreate()
|
14409
|
+
{
|
14410
|
+
Currency = "EUR",
|
14411
|
+
UnitAmount = 1000,
|
14412
|
+
Type = LineItemType.Charge
|
14413
|
+
}
|
14414
|
+
}
|
14415
|
+
};
|
14416
|
+
InvoiceCollection collection = client.CreatePendingPurchase(purchaseReq);
|
14417
|
+
Console.WriteLine($"Created ChargeInvoice with UUID: {collection.ChargeInvoice.Uuid}");
|
14418
|
+
}
|
14419
|
+
catch (Recurly.Errors.Validation ex)
|
14420
|
+
{
|
14421
|
+
// If the request was not valid, you may want to tell your user
|
14422
|
+
// why. You can find the invalid params and reasons in ex.Error.Params
|
14423
|
+
Console.WriteLine($"Failed validation: {ex.Error.Message}");
|
14424
|
+
}
|
14425
|
+
catch (Recurly.Errors.ApiError ex)
|
14426
|
+
{
|
14427
|
+
// Use ApiError to catch a generic error from the API
|
14428
|
+
Console.WriteLine($"Unexpected Recurly Error: {ex.Error.Message}");
|
14429
|
+
}
|
14430
|
+
- lang: Ruby
|
14431
|
+
source: |
|
14432
|
+
begin
|
14433
|
+
purchase = {
|
14434
|
+
currency: 'EUR',
|
14435
|
+
account: {
|
14436
|
+
code: account_code,
|
14437
|
+
email: 'benjamin@example.com',
|
14438
|
+
billing_info: {
|
14439
|
+
first_name: 'Benjamin',
|
14440
|
+
last_name: 'Du Monde',
|
14441
|
+
online_banking_payment_type: 'ideal'
|
14442
|
+
},
|
14443
|
+
},
|
14444
|
+
line_items: [
|
14445
|
+
{
|
14446
|
+
currency: 'EUR',
|
14447
|
+
unit_amount: 1000,
|
14448
|
+
type: 'charge'
|
14449
|
+
}
|
14450
|
+
]
|
14451
|
+
}
|
14452
|
+
invoice_collection = @client.create_pending_purchase(body: purchase)
|
14453
|
+
puts "Created ChargeInvoice with UUID: #{invoice_collection.charge_invoice.uuid}"
|
14454
|
+
rescue Recurly::Errors::ValidationError => e
|
14455
|
+
# If the request was invalid, you may want to tell your user
|
14456
|
+
# why. You can find the invalid params and reasons in e.recurly_error.params
|
14457
|
+
puts "ValidationError: #{e.recurly_error.params}"
|
14458
|
+
end
|
14459
|
+
- lang: Java
|
14460
|
+
source: |
|
14461
|
+
try {
|
14462
|
+
AccountPurchase account = new AccountPurchase();
|
14463
|
+
account.setCode(accountCode);
|
14464
|
+
account.setEmail("benjamin@example.com");
|
14465
|
+
|
14466
|
+
BillingInfoCreate billingInfo = new BillingInfoCreate();
|
14467
|
+
billingInfo.setFirstName("Benjamin");
|
14468
|
+
billingInfo.setLastName("Du Monde");
|
14469
|
+
billingInfo.setOnlineBankingPaymentType(Constants.OnlineBankingPaymentType.IDEAL);
|
14470
|
+
account.setBillingInfo(billingInfo);
|
14471
|
+
|
14472
|
+
List<LineItemCreate> lineItems = new ArrayList<LineItemCreate>();
|
14473
|
+
LineItemCreate lineItem = new LineItemCreate();
|
14474
|
+
lineItem.setCurrency("EUR");
|
14475
|
+
lineItem.setUnitAmount(new BigDecimal("1000.0"));
|
14476
|
+
lineItem.setType(Constants.LineItemType.CHARGE);
|
14477
|
+
lineItems.add(lineItem);
|
14478
|
+
|
14479
|
+
PurchaseCreate purchase = new PurchaseCreate();
|
14480
|
+
purchase.setCurrency("EUR");
|
14481
|
+
purchase.setAccount(account);
|
14482
|
+
purchase.setLineItems(lineItems);
|
14483
|
+
|
14484
|
+
InvoiceCollection collection = client.createPendingPurchase(purchase);
|
14485
|
+
System.out.println("Created ChargeInvoice with UUID: " + collection.getChargeInvoice().getUuid());
|
14486
|
+
} catch (ValidationException e) {
|
14487
|
+
// If the request was not valid, you may want to tell your user
|
14488
|
+
// why. You can find the invalid params and reasons in e.getError().getParams()
|
14489
|
+
System.out.println("Failed validation: " + e.getError().getMessage());
|
14490
|
+
System.out.println("Params: " + e.getError().getParams());
|
14491
|
+
} catch (TransactionException e) {
|
14492
|
+
TransactionError tError = e.getError().getTransactionError();
|
14493
|
+
if (tError.getCategory() == Constants.ErrorCategory.THREE_D_SECURE_ACTION_REQUIRED) {
|
14494
|
+
String actionTokenId = tError.getThreeDSecureActionTokenId();
|
14495
|
+
System.out.println("Got 3DSecure TransactionError token: " + actionTokenId);
|
14496
|
+
}
|
14497
|
+
}
|
14498
|
+
catch (ApiException e) {
|
14499
|
+
// Use ApiException to catch a generic error from the API
|
14500
|
+
System.out.println("Unexpected Recurly Error: " + e.getError().getMessage());
|
14501
|
+
}
|
14502
|
+
- lang: PHP
|
14503
|
+
source: |
|
14504
|
+
try {
|
14505
|
+
$purchase_create = [
|
14506
|
+
"currency" => "EUR",
|
14507
|
+
"account" => [
|
14508
|
+
"code" => $account_code,
|
14509
|
+
"email" => "benjamin@example.com",
|
14510
|
+
"billing_info" => [
|
14511
|
+
"first_name" => "Benjamin",
|
14512
|
+
"last_name" => "Du Monde",
|
14513
|
+
"online_banking_payment_type" => "ideal"
|
14514
|
+
],
|
14515
|
+
],
|
14516
|
+
"line_items" => [
|
14517
|
+
[
|
14518
|
+
"currency" => "EUR",
|
14519
|
+
"unit_amount" => 1000,
|
14520
|
+
"type" => "charge",
|
14521
|
+
]
|
14522
|
+
]
|
14523
|
+
];
|
14524
|
+
$invoice_collection = $client->createPendingPurchase($purchase_create);
|
14525
|
+
echo 'Created ChargeInvoice with UUID' . $invoice_collection->getChargeInvoice()->getUuid() . PHP_EOL;
|
14526
|
+
} catch (\Recurly\Errors\Validation $e) {
|
14527
|
+
// If the request was not valid, you may want to tell your user
|
14528
|
+
// why. You can find the invalid params and reasons in err.params
|
14529
|
+
var_dump($e);
|
14530
|
+
} catch (\Recurly\RecurlyError $e) {
|
14531
|
+
// If we don't know what to do with the err, we should
|
14532
|
+
// probably re-raise and let our web framework and logger handle it
|
14533
|
+
var_dump($e);
|
14534
|
+
}
|
14535
|
+
- lang: Go
|
14536
|
+
source: "purchaseReq := &recurly.PurchaseCreate{\n\tCurrency: recurly.String(\"EUR\"),\n\tAccount:
|
14537
|
+
&recurly.AccountPurchase{\n\t\tCode: recurly.String(accountCode),\n\t\tEmail:
|
14538
|
+
recurly.String(\"benjamin@example.com\"),\n\t\tBillingInfo: &recurly.BillingInfoCreate{\n\t\t\tFirstName:
|
14539
|
+
\ recurly.String(\"Benjamin\"),\n\t\t\tLastName: recurly.String(\"Du
|
14540
|
+
Monde\"),\n\t\t\tOnlineBankingPaymentType: recurly.String(\"ideal\"),\n\t\t},\n\t},\n\tLineItems:
|
14541
|
+
[]recurly.LineItemCreate{\n\t\t{\n\t\t\tCurrency: recurly.String(\"EUR\"),\n\t\t\tUnitAmount:
|
14542
|
+
recurly.Float(1000),\n\t\t\tType: recurly.String(\"charge\"),\n\t\t},\n\t},\n}\ncollection,
|
14543
|
+
err := client.CreatePendingPurchase(purchaseReq)\nif e, ok := err.(*recurly.Error);
|
14544
|
+
ok {\n\tif e.Type == recurly.ErrorTypeValidation {\n\t\tfmt.Printf(\"Failed
|
14545
|
+
validation: %v\", e)\n\t\treturn nil, err\n\t}\n\n\tfmt.Printf(\"Unexpected
|
14546
|
+
Recurly error: %v\", e)\n\treturn nil, err\n}\n\nfmt.Printf(\"Created ChargeInvoice
|
14547
|
+
with UUID: %s.\\n\", collection.ChargeInvoice.Uuid)\n"
|
14228
14548
|
"/export_dates":
|
14229
14549
|
get:
|
14230
14550
|
tags:
|
@@ -14548,8 +14868,73 @@ paths:
|
|
14548
14868
|
schema:
|
14549
14869
|
"$ref": "#/components/schemas/Error"
|
14550
14870
|
x-code-samples: []
|
14871
|
+
"/invoice_templates":
|
14872
|
+
get:
|
14873
|
+
tags:
|
14874
|
+
- invoice_templates
|
14875
|
+
operationId: list_invoice_templates
|
14876
|
+
summary: Show the invoice templates for a site
|
14877
|
+
description: See the [Pagination Guide](/guides/pagination.html) to learn how
|
14878
|
+
to use pagination in the API and Client Libraries.
|
14879
|
+
parameters:
|
14880
|
+
- "$ref": "#/components/parameters/sort_dates"
|
14881
|
+
responses:
|
14882
|
+
'200':
|
14883
|
+
description: A list of the the invoice templates on a site.
|
14884
|
+
content:
|
14885
|
+
application/json:
|
14886
|
+
schema:
|
14887
|
+
"$ref": "#/components/schemas/InvoiceTemplateList"
|
14888
|
+
'404':
|
14889
|
+
description: Incorrect site.
|
14890
|
+
content:
|
14891
|
+
application/json:
|
14892
|
+
schema:
|
14893
|
+
"$ref": "#/components/schemas/Error"
|
14894
|
+
default:
|
14895
|
+
description: Unexpected error.
|
14896
|
+
content:
|
14897
|
+
application/json:
|
14898
|
+
schema:
|
14899
|
+
"$ref": "#/components/schemas/Error"
|
14900
|
+
x-code-samples: []
|
14901
|
+
"/invoice_templates/{invoice_template_id}":
|
14902
|
+
parameters:
|
14903
|
+
- "$ref": "#/components/parameters/invoice_template_id"
|
14904
|
+
get:
|
14905
|
+
tags:
|
14906
|
+
- invoice_templates
|
14907
|
+
operationId: get_invoice_template
|
14908
|
+
summary: Show the settings for an invoice template
|
14909
|
+
responses:
|
14910
|
+
'200':
|
14911
|
+
description: Settings for an invoice template.
|
14912
|
+
content:
|
14913
|
+
application/json:
|
14914
|
+
schema:
|
14915
|
+
"$ref": "#/components/schemas/InvoiceTemplate"
|
14916
|
+
'400':
|
14917
|
+
description: Bad request; perhaps missing or invalid parameters.
|
14918
|
+
content:
|
14919
|
+
application/json:
|
14920
|
+
schema:
|
14921
|
+
"$ref": "#/components/schemas/Error"
|
14922
|
+
'404':
|
14923
|
+
description: Incorrect site or invoice template ID.
|
14924
|
+
content:
|
14925
|
+
application/json:
|
14926
|
+
schema:
|
14927
|
+
"$ref": "#/components/schemas/Error"
|
14928
|
+
default:
|
14929
|
+
description: Unexpected error.
|
14930
|
+
content:
|
14931
|
+
application/json:
|
14932
|
+
schema:
|
14933
|
+
"$ref": "#/components/schemas/Error"
|
14934
|
+
x-code-samples: []
|
14551
14935
|
servers:
|
14552
14936
|
- url: https://v3.recurly.com
|
14937
|
+
- url: https://v3.eu.recurly.com
|
14553
14938
|
components:
|
14554
14939
|
parameters:
|
14555
14940
|
site_id:
|
@@ -14614,6 +14999,14 @@ components:
|
|
14614
14999
|
required: true
|
14615
15000
|
schema:
|
14616
15001
|
type: string
|
15002
|
+
invoice_template_id:
|
15003
|
+
name: invoice_template_id
|
15004
|
+
in: path
|
15005
|
+
description: Invoice template ID or code. For ID no prefix is used e.g. `e28zov4fw0v2`.
|
15006
|
+
For code use prefix `code-`, e.g. `code-bob`.
|
15007
|
+
required: true
|
15008
|
+
schema:
|
15009
|
+
type: string
|
14617
15010
|
item_id:
|
14618
15011
|
name: item_id
|
14619
15012
|
in: path
|
@@ -15451,11 +15844,16 @@ components:
|
|
15451
15844
|
dunning_campaign_id:
|
15452
15845
|
type: string
|
15453
15846
|
title: Dunning Campaign ID
|
15454
|
-
description: Unique ID to identify a dunning campaign.
|
15455
|
-
|
15456
|
-
|
15457
|
-
|
15458
|
-
|
15847
|
+
description: Unique ID to identify a dunning campaign. Used to specify if
|
15848
|
+
a non-default dunning campaign should be assigned to this account. For
|
15849
|
+
sites without multiple dunning campaigns enabled, the default dunning
|
15850
|
+
campaign will always be used.
|
15851
|
+
invoice_template_id:
|
15852
|
+
type: string
|
15853
|
+
title: Invoice Template ID
|
15854
|
+
description: Unique ID to identify an invoice template. Available when
|
15855
|
+
the Invoice Customization feature is enabled. Used to specify which invoice
|
15856
|
+
template, if any, should be used to generate invoices for the account.
|
15459
15857
|
address:
|
15460
15858
|
"$ref": "#/components/schemas/Address"
|
15461
15859
|
billing_info:
|
@@ -15529,11 +15927,18 @@ components:
|
|
15529
15927
|
dunning_campaign_id:
|
15530
15928
|
type: string
|
15531
15929
|
title: Dunning Campaign ID
|
15532
|
-
description: Unique ID to identify a dunning campaign.
|
15533
|
-
|
15534
|
-
|
15535
|
-
|
15536
|
-
|
15930
|
+
description: Unique ID to identify a dunning campaign. Used to specify if
|
15931
|
+
a non-default dunning campaign should be assigned to this account. For
|
15932
|
+
sites without multiple dunning campaigns enabled, the default dunning
|
15933
|
+
campaign will always be used.
|
15934
|
+
invoice_template_id:
|
15935
|
+
type: string
|
15936
|
+
title: Invoice Template ID
|
15937
|
+
description: Unique ID to identify an invoice template. Available when the
|
15938
|
+
Invoice Customization feature is enabled. Used to specify if a non-default
|
15939
|
+
invoice template will be used to generate invoices for the account. For
|
15940
|
+
sites without multiple invoice templates enabled, the default template
|
15941
|
+
will always be used.
|
15537
15942
|
address:
|
15538
15943
|
"$ref": "#/components/schemas/Address"
|
15539
15944
|
billing_info:
|
@@ -15602,11 +16007,10 @@ components:
|
|
15602
16007
|
dunning_campaign_id:
|
15603
16008
|
type: string
|
15604
16009
|
title: Dunning Campaign ID
|
15605
|
-
description: Unique ID to identify a dunning campaign.
|
15606
|
-
|
15607
|
-
|
15608
|
-
|
15609
|
-
always be used.
|
16010
|
+
description: Unique ID to identify a dunning campaign. Used to specify if
|
16011
|
+
a non-default dunning campaign should be assigned to this account. For
|
16012
|
+
sites without multiple dunning campaigns enabled, the default dunning
|
16013
|
+
campaign will always be used.
|
15610
16014
|
AccountBalance:
|
15611
16015
|
type: object
|
15612
16016
|
properties:
|
@@ -15866,6 +16270,11 @@ components:
|
|
15866
16270
|
title: Tiers
|
15867
16271
|
items:
|
15868
16272
|
"$ref": "#/components/schemas/Tier"
|
16273
|
+
percentage_tiers:
|
16274
|
+
type: array
|
16275
|
+
title: Percentage Tiers
|
16276
|
+
items:
|
16277
|
+
"$ref": "#/components/schemas/PercentageTiersByCurrency"
|
15869
16278
|
external_sku:
|
15870
16279
|
type: string
|
15871
16280
|
title: External SKU
|
@@ -15900,16 +16309,16 @@ components:
|
|
15900
16309
|
type: string
|
15901
16310
|
title: Item Code
|
15902
16311
|
description: Unique code to identify an item. Available when the `Credit
|
15903
|
-
Invoices`
|
15904
|
-
|
16312
|
+
Invoices` feature are enabled. If `item_id` and `item_code` are both present,
|
16313
|
+
`item_id` will be used.
|
15905
16314
|
pattern: "/^[a-z0-9_+-]+$/"
|
15906
16315
|
maxLength: 50
|
15907
16316
|
item_id:
|
15908
16317
|
type: string
|
15909
16318
|
title: Item ID
|
15910
16319
|
description: System-generated unique identifier for an item. Available when
|
15911
|
-
the `Credit Invoices`
|
15912
|
-
|
16320
|
+
the `Credit Invoices` feature is enabled. If `item_id` and `item_code`
|
16321
|
+
are both present, `item_id` will be used.
|
15913
16322
|
maxLength: 13
|
15914
16323
|
code:
|
15915
16324
|
type: string
|
@@ -16397,6 +16806,10 @@ components:
|
|
16397
16806
|
billing info marked `primary_payment_method` can be set as a backup. An
|
16398
16807
|
account can have a maximum of 1 backup, if a user sets a different payment
|
16399
16808
|
method as a backup, the existing backup will no longer be marked as such.
|
16809
|
+
external_hpp_type:
|
16810
|
+
"$ref": "#/components/schemas/ExternalHppTypeEnum"
|
16811
|
+
online_banking_payment_type:
|
16812
|
+
"$ref": "#/components/schemas/OnlineBankingPaymentTypeEnum"
|
16400
16813
|
BillingInfoVerify:
|
16401
16814
|
type: object
|
16402
16815
|
properties:
|
@@ -17355,6 +17768,10 @@ components:
|
|
17355
17768
|
type: string
|
17356
17769
|
title: Invoice ID
|
17357
17770
|
readOnly: true
|
17771
|
+
uuid:
|
17772
|
+
type: string
|
17773
|
+
title: Invoice UUID
|
17774
|
+
readOnly: true
|
17358
17775
|
object:
|
17359
17776
|
type: string
|
17360
17777
|
title: Object type
|
@@ -17550,9 +17967,8 @@ components:
|
|
17550
17967
|
type: string
|
17551
17968
|
title: Dunning Campaign ID
|
17552
17969
|
description: Unique ID to identify the dunning campaign used when dunning
|
17553
|
-
the invoice.
|
17554
|
-
|
17555
|
-
be the default dunning campaign.
|
17970
|
+
the invoice. For sites without multiple dunning campaigns enabled, this
|
17971
|
+
will always be the default dunning campaign.
|
17556
17972
|
InvoiceCreate:
|
17557
17973
|
type: object
|
17558
17974
|
properties:
|
@@ -17888,20 +18304,20 @@ components:
|
|
17888
18304
|
type: string
|
17889
18305
|
title: Item Code
|
17890
18306
|
description: Unique code to identify an item. Available when the Credit
|
17891
|
-
Invoices
|
18307
|
+
Invoices feature is enabled.
|
17892
18308
|
pattern: "/^[a-z0-9_+-]+$/"
|
17893
18309
|
maxLength: 50
|
17894
18310
|
item_id:
|
17895
18311
|
type: string
|
17896
18312
|
title: Item ID
|
17897
18313
|
description: System-generated unique identifier for an item. Available when
|
17898
|
-
the Credit Invoices
|
18314
|
+
the Credit Invoices feature is enabled.
|
17899
18315
|
maxLength: 13
|
17900
18316
|
external_sku:
|
17901
18317
|
type: string
|
17902
18318
|
title: External SKU
|
17903
18319
|
description: Optional Stock Keeping Unit assigned to an item. Available
|
17904
|
-
when the Credit Invoices
|
18320
|
+
when the Credit Invoices feature is enabled.
|
17905
18321
|
maxLength: 50
|
17906
18322
|
revenue_schedule_type:
|
17907
18323
|
title: Revenue schedule type
|
@@ -18204,14 +18620,14 @@ components:
|
|
18204
18620
|
type: string
|
18205
18621
|
title: Item Code
|
18206
18622
|
description: Unique code to identify an item. Available when the Credit
|
18207
|
-
Invoices
|
18623
|
+
Invoices feature is enabled.
|
18208
18624
|
pattern: "/^[a-z0-9_+-]+$/"
|
18209
18625
|
maxLength: 50
|
18210
18626
|
item_id:
|
18211
18627
|
type: string
|
18212
18628
|
title: Item ID
|
18213
18629
|
description: System-generated unique identifier for an item. Available when
|
18214
|
-
the Credit Invoices
|
18630
|
+
the Credit Invoices feature is enabled.
|
18215
18631
|
maxLength: 13
|
18216
18632
|
revenue_schedule_type:
|
18217
18633
|
title: Revenue schedule type
|
@@ -18482,11 +18898,10 @@ components:
|
|
18482
18898
|
dunning_campaign_id:
|
18483
18899
|
type: string
|
18484
18900
|
title: Dunning Campaign ID
|
18485
|
-
description: Unique ID to identify a dunning campaign.
|
18486
|
-
|
18487
|
-
|
18488
|
-
|
18489
|
-
used.
|
18901
|
+
description: Unique ID to identify a dunning campaign. Used to specify if
|
18902
|
+
a non-default dunning campaign should be assigned to this plan. For sites
|
18903
|
+
without multiple dunning campaigns enabled, the default dunning campaign
|
18904
|
+
will always be used.
|
18490
18905
|
created_at:
|
18491
18906
|
type: string
|
18492
18907
|
format: date-time
|
@@ -18646,11 +19061,10 @@ components:
|
|
18646
19061
|
dunning_campaign_id:
|
18647
19062
|
type: string
|
18648
19063
|
title: Dunning Campaign ID
|
18649
|
-
description: Unique ID to identify a dunning campaign.
|
18650
|
-
|
18651
|
-
|
18652
|
-
|
18653
|
-
used.
|
19064
|
+
description: Unique ID to identify a dunning campaign. Used to specify if
|
19065
|
+
a non-default dunning campaign should be assigned to this plan. For sites
|
19066
|
+
without multiple dunning campaigns enabled, the default dunning campaign
|
19067
|
+
will always be used.
|
18654
19068
|
required:
|
18655
19069
|
- code
|
18656
19070
|
- name
|
@@ -18837,11 +19251,10 @@ components:
|
|
18837
19251
|
dunning_campaign_id:
|
18838
19252
|
type: string
|
18839
19253
|
title: Dunning Campaign ID
|
18840
|
-
description: Unique ID to identify a dunning campaign.
|
18841
|
-
|
18842
|
-
|
18843
|
-
|
18844
|
-
used.
|
19254
|
+
description: Unique ID to identify a dunning campaign. Used to specify if
|
19255
|
+
a non-default dunning campaign should be assigned to this plan. For sites
|
19256
|
+
without multiple dunning campaigns enabled, the default dunning campaign
|
19257
|
+
will always be used.
|
18845
19258
|
AddOnPricing:
|
18846
19259
|
type: object
|
18847
19260
|
properties:
|
@@ -18940,13 +19353,44 @@ components:
|
|
18940
19353
|
usage_percentage:
|
18941
19354
|
type: string
|
18942
19355
|
title: Usage Percentage
|
18943
|
-
description:
|
19356
|
+
description: This field is deprecated. Do not used it anymore for percentage
|
19357
|
+
tiers add ons. Use the percentage_tiers object instead.
|
19358
|
+
deprecated: true
|
18944
19359
|
currencies:
|
18945
19360
|
type: array
|
18946
19361
|
title: Tier pricing
|
18947
19362
|
items:
|
18948
19363
|
"$ref": "#/components/schemas/TierPricing"
|
18949
19364
|
minItems: 1
|
19365
|
+
PercentageTiersByCurrency:
|
19366
|
+
type: object
|
19367
|
+
properties:
|
19368
|
+
currency:
|
19369
|
+
type: string
|
19370
|
+
title: Currency
|
19371
|
+
description: 3-letter ISO 4217 currency code.
|
19372
|
+
maxLength: 3
|
19373
|
+
tiers:
|
19374
|
+
type: array
|
19375
|
+
title: Tiers
|
19376
|
+
items:
|
19377
|
+
"$ref": "#/components/schemas/PercentageTier"
|
19378
|
+
minItems: 1
|
19379
|
+
PercentageTier:
|
19380
|
+
type: object
|
19381
|
+
properties:
|
19382
|
+
ending_amount:
|
19383
|
+
type: number
|
19384
|
+
format: float
|
19385
|
+
title: Ending amount
|
19386
|
+
minimum: 0.1
|
19387
|
+
maximum: 9999999999999
|
19388
|
+
description: Ending amount for the tier. Allows up to 2 decimal places.
|
19389
|
+
The last tier ending_amount is null.
|
19390
|
+
usage_percentage:
|
19391
|
+
type: string
|
19392
|
+
title: Usage Percentage
|
19393
|
+
description: Decimal usage percentage.
|
18950
19394
|
Settings:
|
18951
19395
|
type: object
|
18952
19396
|
properties:
|
@@ -19640,6 +20084,15 @@ components:
|
|
19640
20084
|
description: |
|
19641
20085
|
If tiers are provided in the request, all existing tiers on the Subscription Add-on will be
|
19642
20086
|
removed and replaced by the tiers in the request.
|
20087
|
+
percentage_tiers:
|
20088
|
+
type: array
|
20089
|
+
title: Percentage Tiers
|
20090
|
+
items:
|
20091
|
+
"$ref": "#/components/schemas/SubscriptionAddOnPercentageTier"
|
20092
|
+
minItems: 1
|
20093
|
+
description: |
|
20094
|
+
If percentage tiers are provided in the request, all existing percentage tiers on the Subscription Add-on will be
|
20095
|
+
removed and replaced by the percentage tiers in the request.
|
19643
20096
|
usage_percentage:
|
19644
20097
|
type: number
|
19645
20098
|
format: float
|
@@ -19814,11 +20267,26 @@ components:
|
|
19814
20267
|
usage_percentage:
|
19815
20268
|
type: string
|
19816
20269
|
title: Usage Percentage
|
19817
|
-
description:
|
20270
|
+
description: This field is deprecated. Do not used it anymore for percentage
|
20271
|
+
tiers subscription add ons. Use the percentage_tiers object instead.
|
20272
|
+
deprecated: true
|
20273
|
+
SubscriptionAddOnPercentageTier:
|
20274
|
+
type: object
|
20275
|
+
properties:
|
20276
|
+
ending_amount:
|
20277
|
+
type: number
|
20278
|
+
format: float
|
20279
|
+
title: Ending amount
|
20280
|
+
minimum: 1
|
20281
|
+
maximum: 9999999999999.99
|
20282
|
+
default:
|
20283
|
+
usage_percentage:
|
20284
|
+
type: string
|
20285
|
+
title: Usage Percentage
|
20286
|
+
description: |
|
20287
|
+
The percentage taken of the monetary amount of usage tracked.
|
19818
20288
|
This can be up to 4 decimal places represented as a string. A value between
|
19819
|
-
0.0 and 100.0.
|
19820
|
-
if add-on's `add_on_type` is `usage` and `usage_type` is `percentage`.
|
19821
|
-
Must be omitted otherwise.
|
20289
|
+
0.0 and 100.0.
|
19822
20290
|
SubscriptionCancel:
|
19823
20291
|
type: object
|
19824
20292
|
properties:
|
@@ -21253,6 +21721,46 @@ components:
|
|
21253
21721
|
maxItems: 200
|
21254
21722
|
items:
|
21255
21723
|
"$ref": "#/components/schemas/Plan"
|
21724
|
+
InvoiceTemplateList:
|
21725
|
+
type: object
|
21726
|
+
properties:
|
21727
|
+
object:
|
21728
|
+
type: string
|
21729
|
+
title: Object type
|
21730
|
+
description: Will always be List.
|
21731
|
+
has_more:
|
21732
|
+
type: boolean
|
21733
|
+
description: Indicates there are more results on subsequent pages.
|
21734
|
+
next:
|
21735
|
+
type: string
|
21736
|
+
description: Path to subsequent page of results.
|
21737
|
+
data:
|
21738
|
+
type: array
|
21739
|
+
items:
|
21740
|
+
"$ref": "#/components/schemas/InvoiceTemplate"
|
21741
|
+
InvoiceTemplate:
|
21742
|
+
type: object
|
21743
|
+
description: Settings for an invoice template.
|
21744
|
+
properties:
|
21745
|
+
id:
|
21746
|
+
type: string
|
21747
|
+
code:
|
21748
|
+
type: string
|
21749
|
+
description: Invoice template code.
|
21750
|
+
name:
|
21751
|
+
type: string
|
21752
|
+
description: Invoice template name.
|
21753
|
+
description:
|
21754
|
+
type: string
|
21755
|
+
description: Invoice template description.
|
21756
|
+
created_at:
|
21757
|
+
type: string
|
21758
|
+
format: date-time
|
21759
|
+
description: When the invoice template was created in Recurly.
|
21760
|
+
updated_at:
|
21761
|
+
type: string
|
21762
|
+
format: date-time
|
21763
|
+
description: When the invoice template was updated in Recurly.
|
21256
21764
|
PaymentMethod:
|
21257
21765
|
properties:
|
21258
21766
|
object:
|
@@ -21927,6 +22435,7 @@ components:
|
|
21927
22435
|
- rate_limited
|
21928
22436
|
- service_not_available
|
21929
22437
|
- simultaneous_request
|
22438
|
+
- tax_service_error
|
21930
22439
|
- transaction
|
21931
22440
|
- unauthorized
|
21932
22441
|
- unavailable_in_api_version
|
@@ -22160,12 +22669,24 @@ components:
|
|
22160
22669
|
AchTypeEnum:
|
22161
22670
|
type: string
|
22162
22671
|
description: The payment method type for a non-credit card based billing info.
|
22163
|
-
|
22672
|
+
`bacs` and `becs` are the only accepted values.
|
22164
22673
|
enum:
|
22165
22674
|
- bacs
|
22675
|
+
- becs
|
22166
22676
|
AchAccountTypeEnum:
|
22167
22677
|
type: string
|
22168
22678
|
description: The bank account type. (ACH only)
|
22169
22679
|
enum:
|
22170
22680
|
- checking
|
22171
22681
|
- savings
|
22682
|
+
ExternalHppTypeEnum:
|
22683
|
+
type: string
|
22684
|
+
description: Use for Adyen HPP billing info.
|
22685
|
+
enum:
|
22686
|
+
- adyen
|
22687
|
+
OnlineBankingPaymentTypeEnum:
|
22688
|
+
type: string
|
22689
|
+
description: Use for Online Banking billing info.
|
22690
|
+
enum:
|
22691
|
+
- ideal
|
22692
|
+
- sofort
|