Skip to content
Merged
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
64 changes: 63 additions & 1 deletion fragment/sdk/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@
CreatePaymentCreatePaymentCreatePaymentResult,
CreatePaymentCreatePaymentCreatePaymentResultPayment,
CreatePaymentCreatePaymentCreatePaymentResultPaymentCurrency,
CreatePaymentCreatePaymentCreatePaymentResultPaymentRefunds,
CreatePaymentCreatePaymentCreatePaymentResultPaymentRefundsNodes,
CreatePaymentCreatePaymentInternalError,
)
from .create_payment_method_setup import (
Expand Down Expand Up @@ -114,9 +116,11 @@
LedgerMigrationStatus,
LedgerTypes,
LinkType,
PaymentAttemptStatus,
PaymentCurrencyCode,
PaymentMethodSetupStatus,
PaymentMode,
PaymentRefundStatus,
PaymentStatus,
PostLinesAs,
ReadBalanceConsistencyMode,
Expand Down Expand Up @@ -203,7 +207,13 @@
GetLedgerEntryLedgerEntryLinesNodes,
GetLedgerEntryLedgerEntryLinesNodesAccount,
)
from .get_payment import GetPayment, GetPaymentPayment, GetPaymentPaymentCurrency
from .get_payment import (
GetPayment,
GetPaymentPayment,
GetPaymentPaymentCurrency,
GetPaymentPaymentRefunds,
GetPaymentPaymentRefundsNodes,
)
from .get_payment_method import (
GetPaymentMethod,
GetPaymentMethodPaymentMethodCardPaymentMethod,
Expand Down Expand Up @@ -285,6 +295,7 @@
PaymentMethodsFilterSet,
PaymentsFilterSet,
PaymentStatusFilter,
RefundPaymentInput,
SceneEntryInput,
SceneEventInput,
SceneInput,
Expand Down Expand Up @@ -396,6 +407,8 @@
ListPaymentsLedgerPayments,
ListPaymentsLedgerPaymentsNodes,
ListPaymentsLedgerPaymentsNodesCurrency,
ListPaymentsLedgerPaymentsNodesRefunds,
ListPaymentsLedgerPaymentsNodesRefundsNodes,
ListPaymentsLedgerPaymentsPageInfo,
)
from .migrate_ledger_entry import (
Expand Down Expand Up @@ -434,6 +447,28 @@
ReconcileTxRuntimeReconcileTxReconcileTxResultLines,
ReconcileTxRuntimeReconcileTxReconcileTxResultLinesAccount,
)
from .refund_payment import (
RefundPayment,
RefundPaymentRefundPaymentBadRequestError,
RefundPaymentRefundPaymentInternalError,
RefundPaymentRefundPaymentRefundPaymentResult,
RefundPaymentRefundPaymentRefundPaymentResultPayment,
RefundPaymentRefundPaymentRefundPaymentResultPaymentCurrency,
RefundPaymentRefundPaymentRefundPaymentResultPaymentRefunds,
RefundPaymentRefundPaymentRefundPaymentResultPaymentRefundsNodes,
RefundPaymentRefundPaymentRefundPaymentResultRefund,
)
from .retry_payment import (
RetryPayment,
RetryPaymentRetryPaymentBadRequestError,
RetryPaymentRetryPaymentInternalError,
RetryPaymentRetryPaymentRetryPaymentResult,
RetryPaymentRetryPaymentRetryPaymentResultAttempt,
RetryPaymentRetryPaymentRetryPaymentResultPayment,
RetryPaymentRetryPaymentRetryPaymentResultPaymentCurrency,
RetryPaymentRetryPaymentRetryPaymentResultPaymentRefunds,
RetryPaymentRetryPaymentRetryPaymentResultPaymentRefundsNodes,
)
from .reverse_ledger_entry import (
ReverseLedgerEntry,
ReverseLedgerEntryReverseLedgerEntryBadRequestError,
Expand Down Expand Up @@ -565,6 +600,8 @@
"CreatePaymentCreatePaymentCreatePaymentResult",
"CreatePaymentCreatePaymentCreatePaymentResultPayment",
"CreatePaymentCreatePaymentCreatePaymentResultPaymentCurrency",
"CreatePaymentCreatePaymentCreatePaymentResultPaymentRefunds",
"CreatePaymentCreatePaymentCreatePaymentResultPaymentRefundsNodes",
"CreatePaymentCreatePaymentInternalError",
"CreatePaymentInput",
"CreatePaymentMethodSetup",
Expand Down Expand Up @@ -676,6 +713,8 @@
"GetPaymentMethodSetupPaymentMethodSetupPaymentMethodPaymentMethod",
"GetPaymentPayment",
"GetPaymentPaymentCurrency",
"GetPaymentPaymentRefunds",
"GetPaymentPaymentRefundsNodes",
"GetSchema",
"GetSchemaSchema",
"GetSchemaSchemaVersion",
Expand Down Expand Up @@ -783,6 +822,8 @@
"ListPaymentsLedgerPayments",
"ListPaymentsLedgerPaymentsNodes",
"ListPaymentsLedgerPaymentsNodesCurrency",
"ListPaymentsLedgerPaymentsNodesRefunds",
"ListPaymentsLedgerPaymentsNodesRefundsNodes",
"ListPaymentsLedgerPaymentsPageInfo",
"MigrateLedgerEntry",
"MigrateLedgerEntryInput",
Expand All @@ -801,13 +842,15 @@
"MigrateLedgerEntryMigrateLedgerEntryMigrateLedgerEntryResultReversingLedgerEntryLines",
"MigrateLedgerEntryMigrateLedgerEntryMigrateLedgerEntryResultReversingLedgerEntryLinesNodes",
"MigrateLedgerEntryMigrateLedgerEntryMigrateLedgerEntryResultReversingLedgerEntryLinesNodesAccount",
"PaymentAttemptStatus",
"PaymentCurrencyCode",
"PaymentMatchInput",
"PaymentMethodMatchInput",
"PaymentMethodSetupMatchInput",
"PaymentMethodSetupStatus",
"PaymentMethodsFilterSet",
"PaymentMode",
"PaymentRefundStatus",
"PaymentStatus",
"PaymentStatusFilter",
"PaymentsFilterSet",
Expand All @@ -827,6 +870,25 @@
"ReconcileTxRuntimeReconcileTxReconcileTxResultEntry",
"ReconcileTxRuntimeReconcileTxReconcileTxResultLines",
"ReconcileTxRuntimeReconcileTxReconcileTxResultLinesAccount",
"RefundPayment",
"RefundPaymentInput",
"RefundPaymentRefundPaymentBadRequestError",
"RefundPaymentRefundPaymentInternalError",
"RefundPaymentRefundPaymentRefundPaymentResult",
"RefundPaymentRefundPaymentRefundPaymentResultPayment",
"RefundPaymentRefundPaymentRefundPaymentResultPaymentCurrency",
"RefundPaymentRefundPaymentRefundPaymentResultPaymentRefunds",
"RefundPaymentRefundPaymentRefundPaymentResultPaymentRefundsNodes",
"RefundPaymentRefundPaymentRefundPaymentResultRefund",
"RetryPayment",
"RetryPaymentRetryPaymentBadRequestError",
"RetryPaymentRetryPaymentInternalError",
"RetryPaymentRetryPaymentRetryPaymentResult",
"RetryPaymentRetryPaymentRetryPaymentResultAttempt",
"RetryPaymentRetryPaymentRetryPaymentResultPayment",
"RetryPaymentRetryPaymentRetryPaymentResultPaymentCurrency",
"RetryPaymentRetryPaymentRetryPaymentResultPaymentRefunds",
"RetryPaymentRetryPaymentRetryPaymentResultPaymentRefundsNodes",
"ReverseLedgerEntry",
"ReverseLedgerEntryReverseLedgerEntryBadRequestError",
"ReverseLedgerEntryReverseLedgerEntryInternalError",
Expand Down
173 changes: 173 additions & 0 deletions fragment/sdk/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@
from .migrate_ledger_entry import MigrateLedgerEntry
from .reconcile_tx import ReconcileTx
from .reconcile_tx_runtime import ReconcileTxRuntime
from .refund_payment import RefundPayment
from .retry_payment import RetryPayment
from .reverse_ledger_entry import ReverseLedgerEntry
from .store_schema import StoreSchema
from .sync_custom_accounts import SyncCustomAccounts
Expand Down Expand Up @@ -1959,6 +1961,16 @@ async def create_payment(
currency {
code
}
refundedAmount
refunds {
nodes {
id
ik
amount
status
created
}
}
}
}
... on BadRequestError {
Expand Down Expand Up @@ -1988,6 +2000,147 @@ async def create_payment(
data = self.get_data(response)
return CreatePayment.model_validate(data)

async def retry_payment(
self,
attempt_ik: Any,
payment_ik: Any,
ledger_ik: Any,
payment_method: Optional[PaymentMethodMatchInput] = None,
**kwargs: Any
) -> RetryPayment:
query = gql("""
mutation retryPayment($attemptIk: SafeString!, $paymentIk: SafeString!, $ledgerIk: SafeString!, $paymentMethod: PaymentMethodMatchInput) {
retryPayment(
attemptIk: $attemptIk
payment: {ik: $paymentIk, ledger: {ik: $ledgerIk}}
paymentMethod: $paymentMethod
) {
__typename
... on RetryPaymentResult {
isIkReplay
attempt {
id
status
}
payment {
id
ik
status
amount
mode
currency {
code
}
refundedAmount
refunds {
nodes {
id
ik
amount
status
created
}
}
}
}
... on BadRequestError {
code
message
retryable
}
... on InternalError {
code
message
retryable
}
}
}
""")
variables: dict[str, object] = {
"attemptIk": attempt_ik,
"paymentIk": payment_ik,
"ledgerIk": ledger_ik,
"paymentMethod": payment_method,
}
response = await self.execute(
query=query, operation_name="retryPayment", variables=variables, **kwargs
)
data = self.get_data(response)
return RetryPayment.model_validate(data)

async def refund_payment(
self,
ik: Any,
payment_ik: Any,
ledger_ik: Any,
amount: Any,
parameters: Optional[Any] = None,
**kwargs: Any
) -> RefundPayment:
query = gql("""
mutation refundPayment($ik: SafeString!, $paymentIk: SafeString!, $ledgerIk: SafeString!, $amount: Int96!, $parameters: JSON) {
refundPayment(
ik: $ik
payment: {ik: $paymentIk, ledger: {ik: $ledgerIk}}
refund: {amount: $amount, parameters: $parameters}
) {
__typename
... on RefundPaymentResult {
isIkReplay
refund {
id
ik
amount
status
created
}
payment {
id
ik
status
amount
mode
currency {
code
}
refundedAmount
refunds {
nodes {
id
ik
amount
status
created
}
}
}
}
... on BadRequestError {
code
message
retryable
}
... on InternalError {
code
message
retryable
}
}
}
""")
variables: dict[str, object] = {
"ik": ik,
"paymentIk": payment_ik,
"ledgerIk": ledger_ik,
"amount": amount,
"parameters": parameters,
}
response = await self.execute(
query=query, operation_name="refundPayment", variables=variables, **kwargs
)
data = self.get_data(response)
return RefundPayment.model_validate(data)

async def get_payment(self, ik: Any, ledger_ik: Any, **kwargs: Any) -> GetPayment:
query = gql("""
query getPayment($ik: SafeString!, $ledgerIk: SafeString!) {
Expand All @@ -2006,6 +2159,16 @@ async def get_payment(self, ik: Any, ledger_ik: Any, **kwargs: Any) -> GetPaymen
mode
parameters
created
refundedAmount
refunds {
nodes {
id
ik
amount
status
created
}
}
}
}
""")
Expand Down Expand Up @@ -2040,6 +2203,16 @@ async def list_payments(
type
typeVersion
created
refundedAmount
refunds {
nodes {
id
ik
amount
status
created
}
}
}
pageInfo {
hasNextPage
Expand Down
17 changes: 16 additions & 1 deletion fragment/sdk/create_payment.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from pydantic import Field

from .base_model import BaseModel
from .enums import PaymentCurrencyCode, PaymentMode, PaymentStatus
from .enums import PaymentCurrencyCode, PaymentMode, PaymentRefundStatus, PaymentStatus


class CreatePayment(BaseModel):
Expand Down Expand Up @@ -37,12 +37,26 @@ class CreatePaymentCreatePaymentCreatePaymentResultPayment(BaseModel):
amount: Any
mode: PaymentMode
currency: "CreatePaymentCreatePaymentCreatePaymentResultPaymentCurrency"
refunded_amount: Any = Field(alias="refundedAmount")
refunds: "CreatePaymentCreatePaymentCreatePaymentResultPaymentRefunds"


class CreatePaymentCreatePaymentCreatePaymentResultPaymentCurrency(BaseModel):
code: PaymentCurrencyCode


class CreatePaymentCreatePaymentCreatePaymentResultPaymentRefunds(BaseModel):
nodes: list["CreatePaymentCreatePaymentCreatePaymentResultPaymentRefundsNodes"]


class CreatePaymentCreatePaymentCreatePaymentResultPaymentRefundsNodes(BaseModel):
id: str
ik: Any
amount: Any
status: PaymentRefundStatus
created: Any


class CreatePaymentCreatePaymentInternalError(BaseModel):
typename__: Literal["InternalError"] = Field(alias="__typename")
code: str
Expand All @@ -53,3 +67,4 @@ class CreatePaymentCreatePaymentInternalError(BaseModel):
CreatePayment.model_rebuild()
CreatePaymentCreatePaymentCreatePaymentResult.model_rebuild()
CreatePaymentCreatePaymentCreatePaymentResultPayment.model_rebuild()
CreatePaymentCreatePaymentCreatePaymentResultPaymentRefunds.model_rebuild()
Loading
Loading