Recurring charge plan migration completed

Event generated when a recurring charge plan migration finishes and the result is reported. Result can be either SUCCESS or FAIL.

Type: object
Additional properties: false
Domain: migration
Event: recurring_charge_plan_outgoing
Version: 1

|
operation required

Title: Migration Operation
Description: Whether the migration was a creation or update, if identifiable
Type: string
Must be one of the following:
CREATION
UPDATE
UNKNOWN
Example:
UPDATE

status required

Title: Migration status
Description: If the result of account migration was a success or not
Type: string
Must be one of the following:
SUCCESS
FAIL
Example:
SUCCESS
FAIL

code required

Title: Migration message code
Description: The code of message for systems
Type: string
Example:
MIGR-0001

message required

Title: The message schema
Description: Message describing the migration result
Type: string
Example:
Recurring charge plan has been migrated successfully

migration

Title: Migration Identifier Object
Description: Identifier sent at the start of the migration process
Type: object
Example:

{
    "id": "migration-id",
    "version_date": "2021-08-11T11:25:00.000Z"
}
id required

Title: Migration Identifier
Type: string
Example:
migration-id

version_date

Title: Version Date of Migration Identifier
Type: string
Example:
2021-08-11T11:25:00.000Z

entity

Title: Recurring charge plan information
Type: object
Additional properties: false
Example:

{
    "id": 1234,
    "split_transaction": true,
    "processing_code": "1234",
    "installment_amount": 10,
    "description": "Taxa de rota\u00e7\u00e3o",
    "number_of_cycles": 12,
    "first_cycles_to_discount": 1,
    "discount_percentage": 1,
    "secondary_processing_code": "4321",
    "secondary_description": "Atrito",
    "minimum_spend_to_charge": 12,
    "renew_method": "WITH_DISCOUNT",
    "tracking_id": "63c2c3c9-5963-4a8f-ac86-5e6d35ee9f67"
}
id

Description: The migrated plan's platform id. Can be used as recurring_charge_plan_id on recurring charge link migrations.
Type: integer
Example:
1234

split_transaction

Description: Whether to apply the recurring charge amount in a single transaction or to create separate transactions with the full installment_amount ('primary transaction') and the discount value ('secondary transaction')
Type: boolean
Example:
true

processing_code

Description: Processing code for the recurring recurring charge transactions. If split_transaction is set to true, this is used as the processing code for the primary transaction.
Type: string
Example:
1234

installment_amount

Description: The full amount of a recurring charge installment before any discount is applied
Type: number
Example:
10.99

description

Description: A description for the recurring charge transactions. If split_transaction is set to true, this is used as the description for the primary transaction
Type: string
Example:
Annuity

number_of_cycles

Description: Number of cycles
Type: string
Example:
12

first_cycles_to_discount

Description: The number of cycles the discount (defined by discount_percentage) should be applied to before reverting to the full charge.
Type: string
Example:
3

discount_percentage

Description: Percentage value to be discounted if first_cycles_to_discount is configured. Should be a number from 0 to 100.
Type: number
Example:
99.999

secondary_processing_code

Description: Processing code used to create the secondary transaction when split_transaction is set to true
Type: string
Example:
4321

secondary_description

Description: Used to create a description for the secondary transaction when split_transaction is true
Type: string
Example:
New customer discount

minimum_spend_to_charge

Description: Minimum debit amount on statement to enable cycle charging
Type: number
Example:
100.0

renew_method

Description: Whether to automatically renew the recurring charge plan at the end of the cycle. Should be one of [NO_RENEW, WITHOUT_DISCOUNT, WITH_DISCOUNT]
Type: string
Example:
NO_RENEW
WITH_DISCOUNT
WITHOUT_DISCOUNT

tracking_id

Description: A unique id used to track the migration request
Type: string
Example:
8bd2fa6c-0aaa-413a-b2d9-0bc3f00b9e15

{
    "$schema": "http://json-schema.org/draft-07/schema",
    "$id": "https://pismo.io/events/migration/recurring_charge_plan_outgoing-1.json",
    "type": "object",
    "title": "Recurring charge plan migration completed",
    "description": "Event generated when a recurring charge plan migration finishes and the result is reported. Result can be either `SUCCESS` or `FAIL`.",
    "examples": [
        {
            "operation": "UNKNOWN",
            "status": "SUCCESS",
            "code": "MIGR-0001",
            "message": "Recurring charge plan has been migrated successfully",
            "migration": {
                "id": "b9ebd50c-1bc5-4e30-9a76-640ede15f1e2",
                "version_date": "2023-12-28T15:00:35Z"
            },
            "entity": {
                "id": 1234,
                "split_transaction": true,
                "processing_code": "1234",
                "installment_amount": 10,
                "description": "Card Recurring charge",
                "number_of_cycles": 12,
                "first_cycles_to_discount": 1,
                "discount_percentage": 1,
                "secondary_processing_code": "4321",
                "secondary_description": "Early Renew Discount",
                "minimum_spend_to_charge": 12,
                "renew_method": "WITH_DISCOUNT",
                "tracking_id": "bd242827-aeb4-477e-bc34-eab33ed68170"
            }
        },
        {
            "operation": "UNKNOWN",
            "status": "FAIL",
            "code": "EX1002",
            "message": "PLAN_ALREADY_EXISTS",
            "migration": {
                "id": "b9ebd50c-1bc5-4e30-9a76-640ede15f1e2"
            }
        }
    ],
    "required": [
        "operation",
        "status",
        "code",
        "message",
        "migration"
    ],
    "properties": {
        "operation": {
            "$id": "#/properties/operation",
            "type": "string",
            "title": "Migration Operation",
            "description": "Whether the migration was a creation or update, if identifiable",
            "enum": [
                "CREATION",
                "UPDATE",
                "UNKNOWN"
            ],
            "examples": [
                "UPDATE"
            ]
        },
        "status": {
            "$id": "#/properties/status",
            "type": "string",
            "title": "Migration status",
            "description": "If the result of account migration was a success or not",
            "enum": [
                "SUCCESS",
                "FAIL"
            ],
            "examples": [
                "SUCCESS",
                "FAIL"
            ]
        },
        "code": {
            "$id": "#/properties/code",
            "type": "string",
            "title": "Migration message code",
            "description": "The code of message for systems",
            "default": "",
            "examples": [
                "MIGR-0001"
            ]
        },
        "message": {
            "$id": "#/properties/message",
            "type": "string",
            "title": "The message schema",
            "description": "Message describing the migration result",
            "default": "",
            "examples": [
                "Recurring charge plan has been migrated successfully"
            ]
        },
        "migration": {
            "$id": "#/properties/migration",
            "type": "object",
            "title": "Migration Identifier Object",
            "description": "Identifier sent at the start of the migration process",
            "examples": [
                {
                    "id": "migration-id",
                    "version_date": "2021-08-11T11:25:00.000Z"
                }
            ],
            "required": [
                "id"
            ],
            "properties": {
                "id": {
                    "$id": "#/properties/migration/properties/id",
                    "type": "string",
                    "title": "Migration Identifier",
                    "examples": [
                        "migration-id"
                    ]
                },
                "version_date": {
                    "$id": "#/properties/migration/properties/version_date",
                    "type": "string",
                    "title": "Version Date of Migration Identifier",
                    "examples": [
                        "2021-08-11T11:25:00.000Z"
                    ]
                }
            }
        },
        "entity": {
            "$id": "#/properties/entity",
            "type": "object",
            "title": "Recurring charge plan information",
            "examples": [
                {
                    "id": 1234,
                    "split_transaction": true,
                    "processing_code": "1234",
                    "installment_amount": 10,
                    "description": "Taxa de rota\u00e7\u00e3o",
                    "number_of_cycles": 12,
                    "first_cycles_to_discount": 1,
                    "discount_percentage": 1,
                    "secondary_processing_code": "4321",
                    "secondary_description": "Atrito",
                    "minimum_spend_to_charge": 12,
                    "renew_method": "WITH_DISCOUNT",
                    "tracking_id": "63c2c3c9-5963-4a8f-ac86-5e6d35ee9f67"
                }
            ],
            "required": [],
            "properties": {
                "id": {
                    "$id": "#/properties/entity/properties/id",
                    "type": "integer",
                    "description": "The migrated plan's platform id. Can be used as `recurring_charge_plan_id` on recurring charge link migrations.",
                    "examples": [
                        1234
                    ]
                },
                "split_transaction": {
                    "$id": "#/properties/entity/properties/split_transaction",
                    "type": "boolean",
                    "description": "Whether to apply the recurring charge amount in a single transaction or to create separate transactions with the full installment_amount ('primary transaction') and the discount value ('secondary transaction')",
                    "examples": [
                        true
                    ]
                },
                "processing_code": {
                    "$id": "#/properties/entity/properties/processing_code",
                    "type": "string",
                    "description": "Processing code for the recurring recurring charge transactions. If `split_transaction` is set to `true`, this is used as the processing code for the primary transaction.",
                    "examples": [
                        "1234"
                    ]
                },
                "installment_amount": {
                    "$id": "#/properties/entity/properties/installment_amount",
                    "type": "number",
                    "description": "The full amount of a recurring charge installment before any discount is applied",
                    "examples": [
                        10.99
                    ]
                },
                "description": {
                    "$id": "#/properties/entity/properties/description",
                    "type": "string",
                    "description": "A description for the recurring charge transactions. If `split_transaction` is set to `true`, this is used as the description for the primary transaction",
                    "examples": [
                        "Annuity"
                    ]
                },
                "number_of_cycles": {
                    "$id": "#/properties/entity/properties/number_of_cycles",
                    "type": "string",
                    "description": "Number of cycles",
                    "examples": [
                        12
                    ]
                },
                "first_cycles_to_discount": {
                    "$id": "#/properties/entity/properties/first_cycles_to_discount",
                    "type": "string",
                    "description": "The number of cycles the discount (defined by discount_percentage) should be applied to before reverting to the full charge.",
                    "examples": [
                        3
                    ]
                },
                "discount_percentage": {
                    "$id": "#/properties/entity/properties/discount_percentage",
                    "type": "number",
                    "description": "Percentage value to be discounted if first_cycles_to_discount is configured. Should be a number from 0 to 100.",
                    "examples": [
                        99.999
                    ]
                },
                "secondary_processing_code": {
                    "$id": "#/properties/entity/properties/secondary_processing_code",
                    "type": "string",
                    "description": "Processing code used to create the secondary transaction when `split_transaction` is set to `true`",
                    "examples": [
                        "4321"
                    ]
                },
                "secondary_description": {
                    "$id": "#/properties/entity/properties/secondary_description",
                    "type": "string",
                    "description": "Used to create a description for the secondary transaction when `split_transaction` is `true`",
                    "examples": [
                        "New customer discount"
                    ]
                },
                "minimum_spend_to_charge": {
                    "$id": "#/properties/entity/properties/minimum_spend_to_charge",
                    "type": "number",
                    "description": "Minimum debit amount on statement to enable cycle charging",
                    "examples": [
                        100.0
                    ]
                },
                "renew_method": {
                    "$id": "#/properties/entity/properties/renew_method",
                    "type": "string",
                    "description": "Whether to automatically renew the recurring charge plan at the end of the cycle. Should be one of [NO_RENEW, WITHOUT_DISCOUNT, WITH_DISCOUNT]",
                    "examples": [
                        "NO_RENEW",
                        "WITH_DISCOUNT",
                        "WITHOUT_DISCOUNT"
                    ]
                },
                "tracking_id": {
                    "$id": "#/properties/entity/properties/tracking_id",
                    "type": "string",
                    "description": "A unique id used to track the migration request",
                    "examples": [
                        "8bd2fa6c-0aaa-413a-b2d9-0bc3f00b9e15"
                    ]
                }
            },
            "additionalProperties": false
        }
    },
    "additionalProperties": false
}
{
    "operation": "UNKNOWN",
    "status": "SUCCESS",
    "code": "MIGR-0001",
    "message": "Recurring charge plan has been migrated successfully",
    "migration": {
        "id": "b9ebd50c-1bc5-4e30-9a76-640ede15f1e2",
        "version_date": "2023-12-28T15:00:35Z"
    },
    "entity": {
        "id": 1234,
        "split_transaction": true,
        "processing_code": "1234",
        "installment_amount": 10,
        "description": "Card Recurring charge",
        "number_of_cycles": 12,
        "first_cycles_to_discount": 1,
        "discount_percentage": 1,
        "secondary_processing_code": "4321",
        "secondary_description": "Early Renew Discount",
        "minimum_spend_to_charge": 12,
        "renew_method": "WITH_DISCOUNT",
        "tracking_id": "bd242827-aeb4-477e-bc34-eab33ed68170"
    }
}