Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .changeset/clean-seahorses-invent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
"@rebilly/client-php": minor
---

### Added

- Added optional response property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more
- Added optional request property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `POST /orders`, `PUT /orders/{id}` + 3 more

### Changed

- Discriminator mapping added response property `IMerchant` — `GET /gateway-accounts`
- Discriminator mapping added request property `IMerchant` — `POST webhook:gateway-account-downtime-ended`, `POST webhook:gateway-account-downtime-started` + 3 more

### Enum changes

- Enum value added on request `gatewayName` on `GatewayName`: `IMerchant` — `POST /gateway-accounts`, `PATCH /gateway-accounts/{id}` + 46 more
- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `POST /kyc-documents`, `PUT /kyc-documents/{id}` + 9 more
- Enum value added on response `gatewayName` on `GatewayName`: `IMerchant` — `GET /gateway-accounts`, `POST /gateway-accounts` + 47 more
- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary`
- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `GET /kyc-documents`, `POST /kyc-documents` + 11 more

### Other

- response-body-discriminator-mapping-added (8x) — e.g. added `IMerchant` mapping keys to the response discriminator for the response status `201`
- request-body-discriminator-mapping-added (3x) — e.g. added `IMerchant` mapping keys to the request discriminator
14 changes: 14 additions & 0 deletions .changeset/forty-insects-fail.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
"@rebilly/client-php": minor
---

### Added

- Added optional response property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more
- Added optional request property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `POST /orders`, `PUT /orders/{id}` + 3 more

### Enum changes

- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `POST /kyc-documents`, `PUT /kyc-documents/{id}` + 9 more
- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary`
- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `GET /kyc-documents`, `POST /kyc-documents` + 11 more
26 changes: 26 additions & 0 deletions .changeset/nervous-falcons-stare.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
"@rebilly/client-php": minor
---

### Added

- Added optional response property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more
- Added optional request property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `POST /orders`, `PUT /orders/{id}` + 3 more

### Changed

- Discriminator mapping added response property `IMerchant` — `GET /gateway-accounts`
- Discriminator mapping added request property `IMerchant` — `POST webhook:gateway-account-downtime-ended`, `POST webhook:gateway-account-downtime-started` + 3 more

### Enum changes

- Enum value added on request `gatewayName` on `GatewayName`: `IMerchant` — `POST /gateway-accounts`, `PATCH /gateway-accounts/{id}` + 46 more
- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `POST /kyc-documents`, `PUT /kyc-documents/{id}` + 9 more
- Enum value added on response `gatewayName` on `GatewayName`: `IMerchant` — `GET /gateway-accounts`, `POST /gateway-accounts` + 47 more
- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary`
- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `GET /kyc-documents`, `POST /kyc-documents` + 11 more

### Other

- response-body-discriminator-mapping-added (8x) — e.g. added `IMerchant` mapping keys to the response discriminator for the response status `201`
- request-body-discriminator-mapping-added (3x) — e.g. added `IMerchant` mapping keys to the request discriminator
9 changes: 9 additions & 0 deletions .changeset/slimy-ducks-melt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@rebilly/client-php": minor
---

### Enum changes

- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `POST /kyc-documents`, `PUT /kyc-documents/{id}` + 9 more
- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary`
- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `GET /kyc-documents`, `POST /kyc-documents` + 11 more
26 changes: 26 additions & 0 deletions .changeset/stupid-trainers-develop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
"@rebilly/client-php": minor
---

### Added

- Added optional response property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `GET /orders`, `POST /orders` + 9 more
- Added optional request property `automaticReadinessTime` on `OneTimeOrder, RecurringOrder` — `POST /orders`, `PUT /orders/{id}` + 3 more

### Changed

- Discriminator mapping added response property `IMerchant` — `GET /gateway-accounts`
- Discriminator mapping added request property `IMerchant` — `POST webhook:gateway-account-downtime-ended`, `POST webhook:gateway-account-downtime-started` + 3 more

### Enum changes

- Enum value added on request `gatewayName` on `GatewayName`: `IMerchant` — `POST /gateway-accounts`, `PATCH /gateway-accounts/{id}` + 46 more
- Enum value added on request `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `POST /kyc-documents`, `PUT /kyc-documents/{id}` + 9 more
- Enum value added on response `gatewayName` on `GatewayName`: `IMerchant` — `GET /gateway-accounts`, `POST /gateway-accounts` + 47 more
- Enum value added on response `rejectionReason`: `name-and-dob-mismatch` — `GET /experimental/reports/kyc-rejection-summary`
- Enum value added on response `type` on `StorefrontProofOfAddressKycDocument, StorefrontProofOfCreditFileKycDocument, StorefrontProofOfFundsKycDocument, StorefrontProofOfIdentityKycDocument, StorefrontProofOfPurchaseKycDocument`: `name-and-dob-mismatch` — `GET /kyc-documents`, `POST /kyc-documents` + 11 more

### Other

- response-body-discriminator-mapping-added (8x) — e.g. added `IMerchant` mapping keys to the response discriminator for the response status `201`
- request-body-discriminator-mapping-added (3x) — e.g. added `IMerchant` mapping keys to the request discriminator
35 changes: 34 additions & 1 deletion .openapi-snapshot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21492,13 +21492,14 @@ paths:
operationId: PostPayoutRequestSplit
x-sdk-operation-name: split
description: |-
Splits a pending payout request into two or more separate requests.
Splits a payout request that is in `pending`, `ready`, or `approved` status into two or more separate requests.

Use this operation when the full amount cannot be processed due to amount restrictions, but a smaller amount can be processed.
For example, if a payout request for `$4,000` cannot be processed, but `$3,000` can be processed, split the request into two. This allows you to approve and process `$3,000` instead of blocking the entire request.

Provide an array of at least two amounts; one new payout request is created per amount.
The sum of the amounts must equal the original payout request amount.
Each new payout request is created in `pending` status.
The original request transitions to the `split` status.
This operation returns the newly created payout requests.
requestBody:
Expand Down Expand Up @@ -38095,6 +38096,7 @@ components:
- iCheque
- iDebit
- Ilixium
- IMerchant
- Ingenico
- INOVAPAY
- Inovio
Expand Down Expand Up @@ -41206,6 +41208,7 @@ components:
- subtype-missing
- dob-mismatch
- name-mismatch
- name-and-dob-mismatch
- critical-info-missing
- old-address-on-id
- tampered-document
Expand Down Expand Up @@ -48677,6 +48680,14 @@ components:
minimum: 0
maximum: 8760
default: 48
automaticReadinessTime:
description: |-
Time of day when the automatic readiness job processes eligible pending payout requests.
Use extended ISO-8601 time format (`HH:MM:SS`) with an optional timezone offset.
allOf:
- $ref: '#/components/schemas/TimeIso8601Extended'
default: '10:00:00'
example: 10:00:00Z
logoId:
type:
- string
Expand Down Expand Up @@ -57036,6 +57047,7 @@ components:
ICEPAY: '#/components/schemas/ICEPAY'
INOVAPAY: '#/components/schemas/INOVAPAY'
Ilixium: '#/components/schemas/Ilixium'
IMerchant: '#/components/schemas/IMerchant'
Ingenico: '#/components/schemas/Ingenico'
Inovio: '#/components/schemas/Inovio'
InstaDebit: '#/components/schemas/InstaDebit'
Expand Down Expand Up @@ -60410,6 +60422,27 @@ components:
type: string
enum:
- Ilixium3dsServer
IMerchant:
description: IMerchant gateway configuration.
allOf:
- $ref: '#/components/schemas/GatewayAccount'
- type: object
required:
- credentials
properties:
credentials:
type: object
description: Credentials of the IMerchant gateway.
properties:
apiKey:
type: string
description: IMerchant API key.
format: password
writeOnly: true
required:
- apiKey
threeDSecureServer:
$ref: '#/components/schemas/ThreeDSecureIO3dsServer'
Ingenico:
description: Ingenico gateway configuration.
allOf:
Expand Down
4 changes: 4 additions & 0 deletions src/Model/GatewayAccount.php
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,8 @@ abstract class GatewayAccount implements JsonSerializable

public const GATEWAY_NAME_ILIXIUM = 'Ilixium';

public const GATEWAY_NAME_I_MERCHANT = 'IMerchant';

public const GATEWAY_NAME_INGENICO = 'Ingenico';

public const GATEWAY_NAME_INOVAPAY = 'INOVAPAY';
Expand Down Expand Up @@ -1637,6 +1639,8 @@ public static function from(array $data = [], array $metadata = []): self
return IDebit::from($data, $metadata);
case 'Ilixium':
return Ilixium::from($data, $metadata);
case 'IMerchant':
return IMerchant::from($data, $metadata);
case 'Ingenico':
return Ingenico::from($data, $metadata);
case 'INOVAPAY':
Expand Down
2 changes: 2 additions & 0 deletions src/Model/GetPayoutRequestPaymentInstrumentsResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,8 @@ class GetPayoutRequestPaymentInstrumentsResponse implements JsonSerializable

public const GATEWAY_NAME_ILIXIUM = 'Ilixium';

public const GATEWAY_NAME_I_MERCHANT = 'IMerchant';

public const GATEWAY_NAME_INGENICO = 'Ingenico';

public const GATEWAY_NAME_INOVAPAY = 'INOVAPAY';
Expand Down
89 changes: 89 additions & 0 deletions src/Model/IMerchant.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
<?php

/**
* This source file is proprietary and part of Rebilly.
*
* (c) Rebilly SRL
* Rebilly Ltd.
* Rebilly Inc.
*
* @see https://www.rebilly.com
*/

declare(strict_types=1);

namespace Rebilly\Sdk\Model;

use Rebilly\Sdk\Trait\HasMetadata;

class IMerchant extends GatewayAccount
{
use HasMetadata;

private array $fields = [];

public function __construct(array $data = [], array $metadata = [])
{
parent::__construct([
'gatewayName' => 'IMerchant',
] + $data, $metadata);

if (array_key_exists('credentials', $data)) {
$this->setCredentials($data['credentials']);
}
if (array_key_exists('threeDSecureServer', $data)) {
$this->setThreeDSecureServer($data['threeDSecureServer']);
}
$this->setMetadata($metadata);
}

public static function from(array $data = [], array $metadata = []): self
{
return new self($data, $metadata);
}

public function getCredentials(): IMerchantCredentials
{
return $this->fields['credentials'];
}

public function setCredentials(IMerchantCredentials|array $credentials): static
{
if (!($credentials instanceof IMerchantCredentials)) {
$credentials = IMerchantCredentials::from($credentials);
}

$this->fields['credentials'] = $credentials;

return $this;
}

public function getThreeDSecureServer(): ?ThreeDSecureIO3dsServer
{
return $this->fields['threeDSecureServer'] ?? null;
}

public function setThreeDSecureServer(null|ThreeDSecureIO3dsServer|array $threeDSecureServer): static
{
if ($threeDSecureServer !== null && !($threeDSecureServer instanceof ThreeDSecureIO3dsServer)) {
$threeDSecureServer = ThreeDSecureIO3dsServer::from($threeDSecureServer);
}

$this->fields['threeDSecureServer'] = $threeDSecureServer;

return $this;
}

public function jsonSerialize(): array
{
$data = [];
if (array_key_exists('credentials', $this->fields)) {
$data['credentials'] = $this->fields['credentials']->jsonSerialize();
}
if (array_key_exists('threeDSecureServer', $this->fields)) {
$data['threeDSecureServer'] = $this->fields['threeDSecureServer']?->jsonSerialize();
}

return parent::jsonSerialize() + $data;
}
}
60 changes: 60 additions & 0 deletions src/Model/IMerchantCredentials.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<?php

/**
* This source file is proprietary and part of Rebilly.
*
* (c) Rebilly SRL
* Rebilly Ltd.
* Rebilly Inc.
*
* @see https://www.rebilly.com
*/

declare(strict_types=1);

namespace Rebilly\Sdk\Model;

use JsonSerializable;
use Rebilly\Sdk\Trait\HasMetadata;

class IMerchantCredentials implements JsonSerializable
{
use HasMetadata;

private array $fields = [];

public function __construct(array $data = [], array $metadata = [])
{
if (array_key_exists('apiKey', $data)) {
$this->setApiKey($data['apiKey']);
}
$this->setMetadata($metadata);
}

public static function from(array $data = [], array $metadata = []): self
{
return new self($data, $metadata);
}

public function getApiKey(): string
{
return $this->fields['apiKey'];
}

public function setApiKey(string $apiKey): static
{
$this->fields['apiKey'] = $apiKey;

return $this;
}

public function jsonSerialize(): array
{
$data = [];
if (array_key_exists('apiKey', $this->fields)) {
$data['apiKey'] = $this->fields['apiKey'];
}

return $data;
}
}
2 changes: 2 additions & 0 deletions src/Model/KycDocumentRejection.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ class KycDocumentRejection implements JsonSerializable

public const TYPE_NAME_MISMATCH = 'name-mismatch';

public const TYPE_NAME_AND_DOB_MISMATCH = 'name-and-dob-mismatch';

public const TYPE_CRITICAL_INFO_MISSING = 'critical-info-missing';

public const TYPE_OLD_ADDRESS_ON_ID = 'old-address-on-id';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,8 @@ class PickInstructionGatewayAcquirerWeightsWeightedList implements JsonSerializa

public const GATEWAY_NAME_ILIXIUM = 'Ilixium';

public const GATEWAY_NAME_I_MERCHANT = 'IMerchant';

public const GATEWAY_NAME_INGENICO = 'Ingenico';

public const GATEWAY_NAME_INOVAPAY = 'INOVAPAY';
Expand Down
2 changes: 2 additions & 0 deletions src/Model/ReportKycRejectionsDataRejectionReasons.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ class ReportKycRejectionsDataRejectionReasons implements JsonSerializable

public const REJECTION_REASON_NAME_MISMATCH = 'name-mismatch';

public const REJECTION_REASON_NAME_AND_DOB_MISMATCH = 'name-and-dob-mismatch';

public const REJECTION_REASON_CRITICAL_INFO_MISSING = 'critical-info-missing';

public const REJECTION_REASON_OLD_ADDRESS_ON_ID = 'old-address-on-id';
Expand Down
Loading
Loading