Skip to content

Commit 6fa5dd2

Browse files
authored
Merge pull request #862 from recurly/v3-v2021-02-25-24466117647
Generated Latest Changes for v2021-02-25
2 parents 134e60d + af4959f commit 6fa5dd2

File tree

3 files changed

+227
-1
lines changed

3 files changed

+227
-1
lines changed

lib/recurly/client.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,21 @@ public function deactivateAccount(string $account_id, array $options = []): \Rec
171171
return $this->makeRequest('DELETE', $path, [], $options);
172172
}
173173

174+
/**
175+
* Redact an account (GDPR Right to Erasure)
176+
*
177+
* @param string $account_id Account ID or code. For ID no prefix is used e.g. `e28zov4fw0v2`. For code use prefix `code-`, e.g. `code-bob`.
178+
* @param array $options Associative array of optional parameters
179+
*
180+
* @return \Recurly\Resources\Account Account has been accepted for redaction and will be processed asynchronously.
181+
* @link https://developers.recurly.com/api/v2021-02-25#operation/redact_account
182+
*/
183+
public function redactAccount(string $account_id, array $options = []): \Recurly\Resources\Account
184+
{
185+
$path = $this->interpolatePath("/accounts/{account_id}/redact", ['account_id' => $account_id]);
186+
return $this->makeRequest('PUT', $path, [], $options);
187+
}
188+
174189
/**
175190
* Fetch an account's acquisition data
176191
*
@@ -1296,6 +1311,22 @@ public function generateUniqueCouponCodes(string $coupon_id, array $body, array
12961311
return $this->makeRequest('POST', $path, $body, $options);
12971312
}
12981313

1314+
/**
1315+
* Generate unique coupon codes synchronously
1316+
*
1317+
* @param string $coupon_id Coupon ID or code. For ID no prefix is used e.g. `e28zov4fw0v2`. For code use prefix `code-`, e.g. `code-10off`.
1318+
* @param array $body The body of the request.
1319+
* @param array $options Associative array of optional parameters
1320+
*
1321+
* @return \Recurly\Resources\UniqueCouponCodeGenerationResponse The newly generated unique coupon codes.
1322+
* @link https://developers.recurly.com/api/v2021-02-25#operation/generate_unique_coupon_codes_sync
1323+
*/
1324+
public function generateUniqueCouponCodesSync(string $coupon_id, array $body, array $options = []): \Recurly\Resources\UniqueCouponCodeGenerationResponse
1325+
{
1326+
$path = $this->interpolatePath("/coupons/{coupon_id}/generate_sync", ['coupon_id' => $coupon_id]);
1327+
return $this->makeRequest('POST', $path, $body, $options);
1328+
}
1329+
12991330
/**
13001331
* Restore an inactive coupon
13011332
*
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
<?php
2+
/**
3+
* This file is automatically created by Recurly's OpenAPI generation process
4+
* and thus any edits you make by hand will be lost. If you wish to make a
5+
* change to this file, please create a Github issue explaining the changes you
6+
* need and we will usher them to the appropriate places.
7+
*/
8+
namespace Recurly\Resources;
9+
10+
use Recurly\RecurlyResource;
11+
12+
// phpcs:disable
13+
class UniqueCouponCodeGenerationResponse extends RecurlyResource
14+
{
15+
private $_object;
16+
private $_unique_coupon_codes;
17+
18+
protected static $array_hints = [
19+
'setUniqueCouponCodes' => '\Recurly\Resources\UniqueCouponCode',
20+
];
21+
22+
23+
/**
24+
* Getter method for the object attribute.
25+
* Object type
26+
*
27+
* @return ?string
28+
*/
29+
public function getObject(): ?string
30+
{
31+
return $this->_object;
32+
}
33+
34+
/**
35+
* Setter method for the object attribute.
36+
*
37+
* @param string $object
38+
*
39+
* @return void
40+
*/
41+
public function setObject(string $object): void
42+
{
43+
$this->_object = $object;
44+
}
45+
46+
/**
47+
* Getter method for the unique_coupon_codes attribute.
48+
* An array containing the newly generated unique coupon codes.
49+
*
50+
* @return array
51+
*/
52+
public function getUniqueCouponCodes(): array
53+
{
54+
return $this->_unique_coupon_codes ?? [] ;
55+
}
56+
57+
/**
58+
* Setter method for the unique_coupon_codes attribute.
59+
*
60+
* @param array $unique_coupon_codes
61+
*
62+
* @return void
63+
*/
64+
public function setUniqueCouponCodes(array $unique_coupon_codes): void
65+
{
66+
$this->_unique_coupon_codes = $unique_coupon_codes;
67+
}
68+
}

openapi/api.yaml

Lines changed: 128 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1404,6 +1404,45 @@ paths:
14041404
not found: %v\", e)\n\t\treturn nil, err\n\t}\n\tfmt.Printf(\"Unexpected
14051405
Recurly error: %v\", e)\n\treturn nil, err\n}\nfmt.Printf(\"Deactivated
14061406
Account: %s\", account.Id)"
1407+
"/accounts/{account_id}/redact":
1408+
parameters:
1409+
- "$ref": "#/components/parameters/account_id"
1410+
put:
1411+
tags:
1412+
- account
1413+
operationId: redact_account
1414+
summary: Redact an account (GDPR Right to Erasure)
1415+
description: Permanently and irreversibly removes all personally identifiable
1416+
information (PII) from an account to fulfill a data subject's right to erasure
1417+
under GDPR and similar privacy regulations (e.g. CCPA). This includes billing
1418+
information, shipping addresses, and transaction details such as names, email
1419+
addresses, and payment card data. The underlying account and transaction records
1420+
are retained for financial and audit purposes, but all personal data fields
1421+
are cleared. The account must have no active subscriptions, uninvoiced charges,
1422+
or partially paid invoices before it can be redacted. Redaction is processed
1423+
asynchronously and cannot be undone.
1424+
responses:
1425+
'200':
1426+
description: Account has been accepted for redaction and will be processed
1427+
asynchronously.
1428+
content:
1429+
application/json:
1430+
schema:
1431+
"$ref": "#/components/schemas/Account"
1432+
'422':
1433+
description: Account cannot be redacted. Common reasons include active subscriptions,
1434+
uninvoiced charges, or partially paid invoices.
1435+
content:
1436+
application/json:
1437+
schema:
1438+
"$ref": "#/components/schemas/Error"
1439+
default:
1440+
description: Unexpected error.
1441+
content:
1442+
application/json:
1443+
schema:
1444+
"$ref": "#/components/schemas/Error"
1445+
x-code-samples: []
14071446
"/accounts/{account_id}/acquisition":
14081447
parameters:
14091448
- "$ref": "#/components/parameters/account_id"
@@ -6505,6 +6544,55 @@ paths:
65056544
schema:
65066545
"$ref": "#/components/schemas/Error"
65076546
x-code-samples: []
6547+
"/coupons/{coupon_id}/generate_sync":
6548+
post:
6549+
tags:
6550+
- unique_coupon_code
6551+
operationId: generate_unique_coupon_codes_sync
6552+
summary: Generate unique coupon codes synchronously
6553+
description: Generates up to 200 unique coupon codes for a bulk coupon and returns
6554+
them directly in the response. For larger batches, use the asynchronous generate
6555+
endpoint instead.
6556+
parameters:
6557+
- "$ref": "#/components/parameters/coupon_id"
6558+
requestBody:
6559+
content:
6560+
application/json:
6561+
schema:
6562+
"$ref": "#/components/schemas/CouponBulkCreateSync"
6563+
required: true
6564+
responses:
6565+
'200':
6566+
description: The newly generated unique coupon codes.
6567+
content:
6568+
application/json:
6569+
schema:
6570+
"$ref": "#/components/schemas/UniqueCouponCodeGenerationResponse"
6571+
'400':
6572+
description: Invalid or unpermitted parameter.
6573+
content:
6574+
application/json:
6575+
schema:
6576+
"$ref": "#/components/schemas/Error"
6577+
'404':
6578+
description: Incorrect site or coupon ID.
6579+
content:
6580+
application/json:
6581+
schema:
6582+
"$ref": "#/components/schemas/Error"
6583+
'422':
6584+
description: Unprocessable entity.
6585+
content:
6586+
application/json:
6587+
schema:
6588+
"$ref": "#/components/schemas/Error"
6589+
default:
6590+
description: Unexpected error.
6591+
content:
6592+
application/json:
6593+
schema:
6594+
"$ref": "#/components/schemas/Error"
6595+
x-code-samples: []
65086596
"/coupons/{coupon_id}/restore":
65096597
put:
65106598
tags:
@@ -19841,6 +19929,18 @@ components:
1984119929
description: The quantity of unique coupon codes to generate. A bulk coupon
1984219930
can have up to 100,000 unique codes (or your site's configured limit).
1984319931
minimum: 1
19932+
CouponBulkCreateSync:
19933+
type: object
19934+
properties:
19935+
number_of_unique_codes:
19936+
type: integer
19937+
title: Number of unique codes
19938+
description: The quantity of unique coupon codes to generate. A bulk coupon
19939+
can have up to 100,000 unique codes (or your site's configured limit).
19940+
minimum: 1
19941+
maximum: 200
19942+
required:
19943+
- number_of_unique_codes
1984419944
CouponMini:
1984519945
type: object
1984619946
properties:
@@ -25251,7 +25351,20 @@ components:
2525125351
transactions where fraud checks have already been performed on the
2525225352
initial transaction. Note that not all gateways support this feature.
2525325353
For Stripe, this skips Radar fraud rules; for Adyen, this skips
25254-
Risk checks.
25354+
skip_recurly_fraud:
25355+
type: boolean
25356+
title: Skip Recurly Fraud
25357+
description: When set to `true`, skips Recurly's fraud detection checks
25358+
for this transaction, including Kount and IP-based fraud screening.
25359+
Does not affect gateway-level fraud checks. Use `skip_all_fraud`
25360+
to skip all fraud checks.
25361+
skip_all_fraud:
25362+
type: boolean
25363+
title: Skip All Fraud
25364+
description: When set to `true`, skips all fraud checks for this transaction,
25365+
including both gateway-level fraud checks and Recurly's fraud detection
25366+
services. This is useful for trusted transactions where fraud screening
25367+
is not required.
2525525368
customer_notes:
2525625369
type: string
2525725370
title: Customer notes
@@ -25839,6 +25952,20 @@ components:
2583925952
type: string
2584025953
format: date-time
2584125954
description: When the external product was updated in Recurly.
25955+
UniqueCouponCodeGenerationResponse:
25956+
type: object
25957+
properties:
25958+
object:
25959+
type: string
25960+
title: Object type
25961+
readOnly: true
25962+
unique_coupon_codes:
25963+
type: array
25964+
title: Unique coupon codes
25965+
description: An array containing the newly generated unique coupon codes.
25966+
maxItems: 200
25967+
items:
25968+
"$ref": "#/components/schemas/UniqueCouponCode"
2584225969
ExternalSubscription:
2584325970
type: object
2584425971
description: Subscription from an external resource such as Apple App Store

0 commit comments

Comments
 (0)