Topics on this page

BriteAPI Tutorial: Add and process payments in BriteCore

Important note on PCI DSS compliance: The Payment Card Industry Data Security Standard (PCI DSS) requires all companies that process, store, or transmit credit card information to maintain a secure environment based on a specific set of standards. Your system must be PCI compliant to accept credit card and ACH payments even if you don’t store any payment information.

Overview

BriteBilling is an accounts receivables system designed to track and bill premium and fees along with collecting and allocating payments received for policies within BriteCore.

Billing occurs in real time and is highly automated in BriteCore. Billing settings are easily configured in our Settings module, providing users with control over powerful configuration options like billing schedules, payment options, and cancellation terms.

The system also includes electronic and manual payment interfaces through web portals, mobile apps, lock box APIs, agent portals, check scanners, and bulk check entry dialogues.

A user can manage payable and receivable data for insurance transactions within BriteCore to:

  • Manage and track billing history on individual policies.
  • Process cash, check, and money order payments.
  • Accept ACH and credit card payments with a supported BriteCore payment vendor.
  • Automatically process non-pays.
  • Process return premiums.
  • Manage and track commissions for appointed agents, agencies, and agency groups.
  • Pay commission manually or electronically, with a supported BriteCore payment vendor.

This tutorial walks you through key concepts, a sample workflow and using BriteAPI endpoints to add and process payments. The steps and related endpoints we cover for billing include:

  1. Get a security token
  2. Search policies to retrieve policy ID
  3. Retrieve policy details
  4. Retrieve existing revisions
  5. Retrieve policyholder information
  6. Retrieve billing information
  7. Retrieve invoice information
  8. Retrieve payment methods
  9. Retrieve expiring payment methods
  10. Add a payment method
  11. Process the payment
  12. Retrieve account/payment history
  13. Retrieve payments on policy
  14. List policy documents and receipts
  15. Get the receipt (Base64 format)

Key concepts

  • Alternate first payment: First payment is different than recurring payments.
  • Auto pay: Set up automatic electronic payments.
  • Bill date: The date the invoice is issued. With the exception of weekends and holidays, the bill date matches the date the invoice was printed and mailed.
  • Bill how: Electronic/Manual.
  • Billing schedule: Installment plans with future installment calculations.
  • Bill whom: Who is responsible for payment.
  • Cancel date: The date the policy cancels, if unpaid.
  • Credit: If a prior term has an outstanding credit, that credit will be transferred to the next term when the new term’s effective date comes to pass. The credit is transferred on the effective date to cover any late-term endorsements on the prior term. In other words, credits always move to the latest possible term. Doing so ensures refunds aren’t lost when a policy expires or is canceled.
  • Custom fees billed to date: Fees set up in the Lines module (such as policy fee) billed as of today.
  • Debit: If a prior term has an outstanding debit, the next payment received will be applied to that debit first.
  • Due date: The date a debit is due. On this date, a policy will enter non-pay if unpaid. Depending upon your site configuration, this date may appear differently on invoices (grace period), or the non-pay may process at the end of the day rather than the beginning.
  • Payment method: How will payment be made (manual / auto).
  • Payoff amount: The remaining premium and billed fees left to pay off the policy. This excludes unbilled fees.
  • Premium billed to date: The amount of written premium billed as of today.
  • System fees billed to date: Billing-related fees (installment, non-pay, reinstatement, or NSF) billed as of today.
  • Total paid to date: The total credits received as of today.
  • Total written premium: The written premium as of today, including any endorsements.

Figure 1 illustrates a sample BriteCore integration with a third-party payment system.

Figure 1: Sample third-party payment integration.

How to use BriteAPI endpoints to add and process a payment

Step 1: Get a security token

You will need to request an ID and Secret to use OAuth 2.0.

For more information, refer to How do I get started?

Step 2: Search policies to retrieve Policy ID

Use the search endpoint (/v2/policies/search) to get a list of all policies. You will use the policy_id from this list to retrieve policy details in the next step.

You can request parameters to filter by in the request payload:

View code
{
    "sort_obj": "<object>",
    "policy_types": "<array>",
    "current_page": "<integer>",
    "page_size": "<integer>",
    "search_string": "<string>",
    "statuses": "active",
    "revision_states": "<array>"
}

Sample request

View code
url --location --request POST '<client url>/api/v2/policies/search' \
--header 'Authorization: <enter your token ID here> \
--header 'Content-Type: text/plain' \
--header 'Cookie: webpy_session_id=70e6375d4c1936ff1e7f37a23cdf5b2966cdc104' \
--data-raw '{
    "statuses": "active",
    
}'

Sample response

View code
"message": "The payment method was successfully created.",
"paymentMethod": {
	"vendorId": "904e3a9a-097a-11e5-b750-0242ac110009",
	"accountDescription": "Added by Insured Portal user",
	"accountHash": "$2b$10$0/K7J0AtCc1sdcGdF0Af8eQ/dpVLGfjwGUC7ZuqmShZHHne/AJ1wi",
	"companyOnAccount": "",
	"contactId": "856e657d-8a60-4ff0-805b-ba7cdc59e49b",
	"addressLine2": null,
	"primaryAccount": false,
	"addressLine1": "123 High St",
	"customerProfileId": "856e657d-8a60-4ff0-805b-ba7cdc59e49b",
	"id": "a10bc315-e01c-4e7a-99ba-f02319b12c86",
	"addressCountry": "USA",
	"maskedRouting": null,
	"updatedOn": "2020-07-29 21:32:01.403503",
	"accountName": "MasterCard",
	"maskedNumber": "...0120",
	"nameOnAccount": "Cardholder",
	"dateUpdated": "2020-07-29 16:32:02",
	"method": "CC",
	"searchKey": "926",
	"vendor": null,
	"sameAddress": false,
	"accountType": "Credit Card",
	"active": true,
	"addressCity": "Boston",
	"expireDate": "2023-12-31 00:00:00",
	"addressState": "MA",
	"vendorLog": {
		"requests": [{
			"account_type": "card",
			"prepaid": "no",
			"cvv2": "***",
			"user_identifier": "Jamie Morales",
			"key": "H6ZJBESFRi0tXcO4gPgYq0N7",
			"address": "123 High St",
			"path": "/payments/account",
			"process_date": "07302020",
			"city": "Boston",
			"name": "Cardholder",
			"zip": "02110",
			"customer_identifier": "856e657d-8a60-4ff0-805b-ba7cdc59e49b",
			"state": "MA",
			"account_number": "a*0bc315-e01c-4e7a-99ba-f02319b12c86",
			"expiration_date": "1223",
			"action": "post",
			"card_number": "************0120"
		}],
		"responses": [{
			"data": {
				"account_status": "active",
				"gateway_message": "APPROVED",
				"account_token": "3WODMFtAyfqJiBXkgJkLeGFU"
			}
		}]
	},
	"vendorPaymentMethodId": "3WODMFtAyfqJiBXkgJkLeGFU",
	"addressZip": "02110"
},
"success": true
}

Step 3: Retrieve policy details

Use the retrievePolicy endpoint (/v2/policies/retrieve_policy) to get policy details. You must pass the policy_id from the request above.

Sample request

View code
curl --request GET \
  --url <client url>/policies/policies/53bb476a-5c20-412e-ac0d-e5aaf18172c5 \
  --header 'authorization: <enter your access token here>\
  --cookie XSRF-TOKEN=11d50576-ef36-4e31-a985-c19ab0c3895e

Sample response

View code
"data": {
	"type": "policies",

	"id": "53bb476a-5c20-412e-ac0d-e5aaf18172c5",

	"attributes": {

		"policy_number": "10-2020-271",

		"policy_number_origin": "v1",

		"policy_number_normalized": "102020271",

		"active": 1,

		"rewritten": 0,

		"show_app": 1,

		"date_added": "2020-07-27T18:45:59Z",

		"copied_from_rev_id": null,

		"copied_to_rev_id": null,

		"flag": "white",

		"inception_date": "2020-07-27",

		"system_tags": null,

		"submit_bound": 0,

		"submit_receipt_email": null,

		"submit_receipt_name": null,

		"submit_confirm_email": null,

		"submit_confirm_name": null,

		"date_updated": "2020-07-27T18:45:59Z",

		"do_not_automatically_rewrite": 0

	},

	"relationships": {

		"policy_terms": {

			"data": [

				{

					"type": "policy-terms",

					"id": "5b56dd23-4572-4972-bff7-3edbe66d91b0"

				}

			],

			"meta": {

				"count": 1

			}

		}

	}

},

"included": [

	{

		"type": "policy-terms",

		"id": "5b56dd23-4572-4972-bff7-3edbe66d91b0",

		"attributes": {

			"effective_date": "2020-07-27",

			"expiration_date": "2021-07-27",

			"term_type": "1 Year"

		},

		"relationships": {

			"policy": {

				"data": {

					"type": "policies",

					"id": "53bb476a-5c20-412e-ac0d-e5aaf18172c5"

				}

			}

		}

	}

]

}

Step 4: Retrieve existing revisions of the policy

The listRevision endpoint (/policies/revisions/) returns a list of existing revisions. Pass policy_id from step 3 to filter by your policy. You will need the revision_id from this response to retrieve the policyholder information in the next step.

Sample request

View code
curl --location --request GET '<client url>/policies/revisions/?filter[policy_id]=53bb476a-5c20-412e-ac0d-e5aaf18172c5' \

--header 'Authorization: <enter access token here>'

Sample response

View code
"data": [

        {

            "type": "revisions",

            "id": "4fd51a40-8fdb-49c9-a8ca-28f54a7d744f",

            "attributes": {

                "britelines_product_name": "personalAutoCW",

                "cancel_date": null,

                "commission_rate": "0.0000",

                "commit_date": "2020-07-27",

                "create_date": "2020-07-27T18:45:59Z",

                "date_archived": null,

                "dec_description": null,

                "description": null,

                "written_fee": "0.00",

                "grant_mortgagee_extension": 0,

                "override_commission": 0,

                "policy_status": "Active",

                "policy_status_reason_id": null,

                "written_premium": "2965.00",

                "written_premium_delta": "0.00",

                "print_dec": 1,

                "reinstate_at_commit": 0,

                "revision_date": "2020-07-27",

                "revision_state": "committed",

                "annual_fee": "0.00",

                "annual_premium": "2965.00",

                "underwriting_questions": null,

                "underwriting_contacted": 0,

                "underwriting_contact_date": null,

                "builder_pending": 0,

                "deleted": 0,

                "credit_report_permissions": null,

                "date_updated": "2020-07-27T18:46:01Z",

                "last_visited": null,

                "builder_ready_to_rate": 0,

                "review_workflow_state": "NOT_STARTED",

                "review_workflow_request_reason": null,

                "underwriting_options": null

            },

            "relationships": {

                "policy": {

                    "data": {

                        "type": "policies",

                        "id": "53bb476a-5c20-412e-ac0d-e5aaf18172c5"

                    }

                },

                "policy_type": {

                    "data": {

                        "type": "policy-types",

                        "id": "fb35598a-f987-49e5-ae68-fc736b6efed9"

                    }

                },

                "policy_term": {

                    "data": {

                        "type": "policy-terms",

                        "id": "5b56dd23-4572-4972-bff7-3edbe66d91b0"

                    }

                }

            }

        }

    ],

    "meta": {

        "pagination": {

            "page": 1,

            "pages": 1,

            "count": 1

        }

    }

}

Step 5: Retrieve policyholder information

The listRevisionsContact endpoint (/policies/revisions-contacts/) will return the contact details for a particular revision. The revision_id from step 4 is a required parameter.

Sample request

View code
curl --request GET \
  --url '<client url>/policies/revisions-contacts/?filter[revision_id]=4fd51a40-8fdb-49c9-a8ca-28f54a7d744f \
  --header 'authorization: <your access token>'

Sample response

View code
"data": [
	{

		"type": "x-revisions-contacts",

		"id": "e17644a8-d2b1-4e90-bdc6-302efb7ac322",

		"attributes": {

			"namedinsured": 1,

			"addtlinterest": 0,

			"interest": null,

			"agent": 0,

			"creator": 0,

			"financecompany": 0,

			"underwriter": 0,

			"dateadded": "2020-07-27T18:45:59.839857Z",

			"dateupdated": "2020-07-27T18:46:00Z"

		},

		"relationships": {

			"revision": {

				"data": {

					"type": "revisions",

					"id": "4fd51a40-8fdb-49c9-a8ca-28f54a7d744f"

				}

			},

			"contact": {

				"data": {

					"type": "contacts",

					"id": "370edd0d-4c1e-47e3-abf7-82f20721d4c3"

				}

			}

		}

	},

	{

		"type": "x-revisions-contacts",

		"id": "6652c5b0-05bd-4e56-b317-778e0013203c",

		"attributes": {

			"namedinsured": 0,

			"addtlinterest": 0,

			"interest": null,

			"agent": 1,

			"creator": 0,

			"financecompany": 0,

			"underwriter": 0,

			"dateadded": "2020-07-27T18:45:59.842953Z",

			"dateupdated": "2020-07-27T18:46:00Z"

		},

		"relationships": {

			"revision": {

				"data": {

					"type": "revisions",

					"id": "4fd51a40-8fdb-49c9-a8ca-28f54a7d744f"

				}

			},

			"contact": {

				"data": {

					"type": "contacts",

					"id": "b83deae1-ac73-4874-8def-c1d2311d473c"

				}

			}

		}

	}

],

"meta": {

	"pagination": {

		"page": 1,

		"pages": 1,

		"count": 2

	}

}

}

Step 6: Retrieve billing information

The retrieve_policy_billing_information endpoint(/v2/payments/retrieve_policy_billing_information)retrieves billing information. Pass the policy_id and policy _term_id from step 4 and True for Billing_only.

Sample request

View code
curl --location --request POST 'https://policies-sandbox.britecore.com/api/v2/payments/retrieve_policy_billing_information' \
--header 'Authorization: <enter your token here' \
--header 'Content-Type: text/plain' \
--header 'Cookie: webpy_session_id=0de85182f97326b613b2210600e431e30fa460fa' \
--data-raw '{
    "policy_term_id":"5b56dd23-4572-4972-bff7-3edbe66d91b0",
    "billing_only": "True",
    "policy_id": "485ee28b-0487-4bf8-9b7c-e72359e2065b"
}'

Sample response

View code
{
    "data": {

        "billingSchedule": "a90ca49c-42a2-4e0c-942b-89c48ebd9d75",

        "whenWithdraw": 0,

        "sendInitialInvoice": false,

        "initialSelectedValues": {

            "billingSchedules": "a90ca49c-42a2-4e0c-942b-89c48ebd9d75",

            "whenWithdraw": 0,

            "paymentMethods": "",

            "manualReason": "",

            "billWhoms": "370edd0d-4c1e-47e3-abf7-82f20721d4c3",

            "billHows": "3e563b63-2045-4c16-947e-fa3f486c9fb3"

        },

        "billWhoms": [

            {

                "hideSweep": false,

                "billingSchedules": [

                    {

                        "billingSchedule": "Annual",

                        "automaticPaymentReminder": false,

                        "id": "4ae114c4-4985-456a-8830-0970e7fbb65c"

                    },

                    {

                        "billingSchedule": "Annual Direct Debit",

                        "automaticPaymentReminder": true,

                        "id": "718164eb-1462-4922-8992-aaa25bfcf684"

                    },

                    {

                        "billingSchedule": "Semi-Annual",

                        "automaticPaymentReminder": false,

                        "id": "a90ca49c-42a2-4e0c-942b-89c48ebd9d75"

                    },

                    {

                        "billingSchedule": "Semi-Annual Direct Debit",

                        "automaticPaymentReminder": true,

                        "id": "2b39abec-e3a8-4fe1-b6f0-0992d97aac14"

                    },

                    {

                        "billingSchedule": "Quarterly",

                        "automaticPaymentReminder": false,

                        "id": "ca7726b1-3b38-4b99-85ff-87536fa93d0f"

                    },

                    {

                        "billingSchedule": "Quarterly Direct Debit",

                        "automaticPaymentReminder": true,

                        "id": "d23faa7c-dacf-41a7-8264-542308dc0f06"

                    },

                    {

                        "billingSchedule": "10 Pay Direct Debit",

                        "automaticPaymentReminder": true,

                        "id": "163d2ab5-07f2-4bc2-ac11-ce73012d98f4"

                    }

                ],

                "paymentMethods": [

                    {

                        "paymentMethod": "Manual Pay: Cash, Check, Money Order",

                        "id": ""

                    }

                ],

                "billWhom": "Mark Powers - (Named Insured)",

                "id": "370edd0d-4c1e-47e3-abf7-82f20721d4c3",

                "billHows": [

                    {

                        "billHow": "Mailing/Billing: 8 Main Street None - Boston, VA - Virginia 20107",

                        "id": "3e563b63-2045-4c16-947e-fa3f486c9fb3"

                    },

                    {

                        "billHow": "Email  - Home: secondmark@gmail.com",

                        "id": "525935e2-0c1f-4ebd-9ed0-1ec5b3412311"

                    }

                ]

            },

            {

                "hideSweep": false,

                "billingSchedules": [

                    {

                        "billingSchedule": "Annual",

                        "automaticPaymentReminder": false,

                        "id": "4ae114c4-4985-456a-8830-0970e7fbb65c"

                    },

                    {

                        "billingSchedule": "Annual Direct Debit",

                        "automaticPaymentReminder": true,

                        "id": "718164eb-1462-4922-8992-aaa25bfcf684"

                    },

                    {

                        "billingSchedule": "Semi-Annual",

                        "automaticPaymentReminder": false,

                        "id": "a90ca49c-42a2-4e0c-942b-89c48ebd9d75"

                    },

                    {

                        "billingSchedule": "Semi-Annual Direct Debit",

                        "automaticPaymentReminder": true,

                        "id": "2b39abec-e3a8-4fe1-b6f0-0992d97aac14"

                    },

                    {

                        "billingSchedule": "Quarterly",

                        "automaticPaymentReminder": false,

                        "id": "ca7726b1-3b38-4b99-85ff-87536fa93d0f"

                    },

                    {

                        "billingSchedule": "Quarterly Direct Debit",

                        "automaticPaymentReminder": true,

                        "id": "d23faa7c-dacf-41a7-8264-542308dc0f06"

                    },

                    {

                        "billingSchedule": "10 Pay Direct Debit",

                        "automaticPaymentReminder": true,

                        "id": "163d2ab5-07f2-4bc2-ac11-ce73012d98f4"

                    }

                ],

                "paymentMethods": [

                    {

                        "paymentMethod": "Manual Pay: Cash, Check, Money Order",

                        "id": ""

                    }
                ],

                "billWhom": "Kuhlman Insurance LLC - (Agent/Agency)",

                "id": "b83deae1-ac73-4874-8def-c1d2311d473c",

                "billHows": [

                    {

                        "billHow": "Email  - Work: kuhlmaninsurancellc0@britecore.com",

                        "id": "bf841421-bb84-48fd-b064-b64b5425478d"

                    }
               ]

           }

        ],

        "recurringSelectedValues": {

            "billingSchedules": "a90ca49c-42a2-4e0c-942b-89c48ebd9d75",

            "whenWithdraw": 0,

            "billWhoms": "370edd0d-4c1e-47e3-abf7-82f20721d4c3",

            "paymentMethods": "",

            "billHows": "3e563b63-2045-4c16-947e-fa3f486c9fb3"

        }
    },

    "messages": [],

    "success": true

}

Step 7: Retrieve invoice information

The get_invoices endpoint(/v2/accounting/get_invoices) retrieves invoice information for a particular policy. You can send the following payload with your request. Only the policy_id is required.

View code
{
    "due_to_date": "<string>",
    "page_number": "<integer>",
    "page_size": "<integer>",
    "sorting_order": "<string>",
    "bill_to_date": "<string>",
    "policy_id": "<string>",
    "due_from_date": "<string>",
    "bill_from_date": "<string>"
}

Sample request

View code
curl --location --request POST '<client url>/api/v2/accounting/get_invoices' \
--header 'Authorization: <enter your access token>' \
--header 'Content-Type: text/plain' \
--header 'Cookie: webpy_session_id=0de85182f97326b613b2210600e431e30fa460fa' \
--data-raw '{
  "policy_id": "53bb476a-5c20-412e-ac0d-e5aaf18172c5" 
}'

Sample response

View code
{
    "data": {

        "due_to_date": null,

        "page_number": 1,

        "bill_to_date": null,

        "invoices": [

            {

                "fileKey": "358f8497-6fdb-4dae-9cb0-194b49614f3d",

                "date": "07/27/2020",

                "data": {

                    "amount": 1488.50,

                    "schedule": {

                        "Premium": 1482.5,

                        "Installment Fee": 6.0,

                        "Custom Fees": 0.0

                    },

                    "details": {

                        "showDelete": false,

                        "cancelDate": "08/28/2020",

                        "paidInFull": false,

                        "billDate": "07/27/2020",

                        "description": "Initial Invoice",

                        "generatedBy": "britecore_maliha.balala@britecore.com",

                        "policyStatus": "Active",

                        "showEditAndReprint": true,

                        "dirty": false,

                        "showWaive": true,

                        "dueDate": "08/11/2020"

                    }

                },

                "id": "182ca1cf-347b-443d-84ec-a797c49ac1a7",

                "icon": "view",

                "summary": "Initial Invoice",

                "credit": "",

                "amount": 1488.50,

                "debit": 1488.50,

                "balance": "1,488.50",

                "type": "Invoice"

            },

            {

                "fileKey": "6378254d-74ec-4823-a3a0-913c22eaf0a3",

                "date": "12/25/2020",

                "data": {

                    "amount": 1488.50,

                    "schedule": {

                        "Premium": 1482.5,

                        "Installment Fee": 6.0,

                        "Custom Fees": 0.0

                    },

                    "details": {

                        "showDelete": false,

                        "cancelDate": "02/13/2021",

                        "paidInFull": false,

                        "billDate": "12/25/2020",

                        "description": "Installment Invoice",

                        "generatedBy": "britecore_maliha.balala@britecore.com",

                        "policyStatus": "Active",

                        "showEditAndReprint": true,

                        "dirty": false,

                        "showWaive": true,

                        "dueDate": "01/27/2021"

                    }

                },

                "id": "7ad55fa3-2e8a-490b-b46d-1d848d49132f",

                "icon": "view",

                "summary": "Installment Invoice",

                "credit": "",

                "amount": 1488.50,

                "debit": 1488.50,

                "balance": "2,977.00",

                "type": "Invoice"

            }

        ],

        "sorting_order": "asc",

        "bill_from_date": null,

        "total_pages": 1,

        "due_from_date": null,

        "page_size": 50,

        "policy_id": "53bb476a-5c20-412e-ac0d-e5aaf18172c5"

    },

    "messages": [],

    "success": true

}

Step 8: Retrieve payment methods

The retrieve_payment_methods(/v2/payments/retrieve_payment_methods) endpoint requires a contact_ID and returns a payload with the payment method information and expiration year.

Sample request

View code
curl --location --request POST <client url>/api/v2/payments/retrieve_payment_methods' \
--header 'Authorization: <enter your access token>' \

--header 'Content-Type: text/plain' \

--header 'Cookie: webpy_session_id=70e6375d4c1936ff1e7f37a23cdf5b2966cdc104' \

--data-raw '{

    "contact_ids": ["856e657d-8a60-4ff0-805b-ba7cdc59e49b"],

    "exp_less_than": 2030

}'

Sample response

View code
{
    "data": [

        {
            "date_updated": "2020-07-29 17:03:33",

            "name_on_account": "Jamie Morales",

            "contact_id": "856e657d-8a60-4ff0-805b-ba7cdc59e49b",

            "address_state": "MA",

            "vendor": null,

            "address_country": "USA",

            "id": "3643eff9-fbe1-401f-9f40-a089e296284d",

            "address_line2": null,

            "address_line1": "123 High St",

            "masked_number": "...1111",

            "account_hash": "$2b$10$Punm2.rz6IU4/H1AAU3XDukjYdMVUXNbOi8Jt9ps8bLY/F5i6Hd9.",

            "search_key": "cff",

            "primary_account": false,

            "account_name": "VISA",

            "expire_date": "2021-11-30",

            "method": "CC",

            "masked_routing": null,

            "vendor_id": "904e3a9a-097a-11e5-b750-0242ac110009",

            "account_type": "Credit Card",

            "same_address": false,

            "account_description": "Testing 2",

            "vendor_log": {

                "requests": [

                    {

                        "account_type": "card",

                        "prepaid": "no",

                        "cvv2": "***",

                        "user_identifier": "Jamie Morales",

                        "key": "H6ZJBESFRi0tXcO4gPgYq0N7",

                        "address": "123 High St",

                        "path": "/payments/account",

                        "process_date": "07302020",

                        "city": "Boston",

                        "name": "Jamie Morales",

                        "zip": "02110",

                        "expiration_date": "1121",

                        "state": "MA",

                        "account_number": "**43eff9-fbe1-401f-9f40-a089e296284d",

                        "customer_identifier": "856e657d-8a60-4ff0-805b-ba7cdc59e49b",

                        "action": "post",

                        "card_number": "************1111"

                    }

                ],

                "responses": [

                    {

                        "data": {

                            "account_status": null,

                            "gateway_message": "Success",

                            "account_token": "D23K4n3n#",

                            "payment_token": "JDNM234NJ23",

                            "payment_token_status": "complete"

                        },

                        "success": true

                    }

                ]

            },

            "company_on_account": "Test",

            "active": true,

            "address_zip": "02110",

            "address_city": "Boston",

            "vendor_payment_method_id": "D23K4n3n#",

            "customer_profile_id": "856e657d-8a60-4ff0-805b-ba7cdc59e49b",

            "updated_on": "2020-07-29 22:03:33"

        },

        {

            "date_updated": "2020-07-29 15:57:32",

            "name_on_account": "Jamie",

            "contact_id": "856e657d-8a60-4ff0-805b-ba7cdc59e49b",

            "address_state": "MA",

            "vendor": null,

            "address_country": "USA",

            "id": "8238e4f9-57f7-4edd-95be-f336a6ee877f",

            "address_line2": null,

            "address_line1": "123 High St",

            "masked_number": "...0835",

            "account_hash": "$2b$10$Xv4Y.ElOA7wSzIsQco/wouoohRAIrmcAA6nPI55iczhpG1K7WQ6Vq",

            "search_key": "434",

            "primary_account": false,

            "account_name": "VISA",

            "expire_date": "2022-04-30",

            "method": "CC",

            "masked_routing": null,

            "vendor_id": "904e3a9a-097a-11e5-b750-0242ac110009",

            "account_type": "Credit Card",

            "same_address": false,

            "account_description": "Test",

            "vendor_log": {

                "requests": [

                    {

                        "account_type": "card",

                        "prepaid": "no",

                        "cvv2": "***",

                        "user_identifier": "Jamie Morales",

                        "key": "H6ZJBESFRi0tXcO4gPgYq0N7",

                        "address": "123 High St",

                        "path": "/payments/account",

                        "process_date": "07302020",

                        "city": "Boston",

                        "name": "Jamie",

                        "zip": "02110",

                        "expiration_date": "0422",

                        "state": "MA",

                        "account_number": "**38e4f9-57f7-4edd-95be-f336a6ee877f",

                        "customer_identifier": "856e657d-8a60-4ff0-805b-ba7cdc59e49b",

                        "action": "post",

                        "card_number": "*************0835"

                    }

                ],

                "responses": [

                    {

                        "data": {

                            "account_status": null,

                            "gateway_message": "Success",

                            "account_token": "D23K4n3n#",

                            "payment_token": "JDNM234NJ23",

                            "payment_token_status": "complete"

                        },

                        "success": true

                    }

                ]

            },

            "company_on_account": "Morales",

            "active": true,

            "address_zip": "02110",

            "address_city": "Boston",

            "vendor_payment_method_id": "D23K4n3n#",

            "customer_profile_id": "856e657d-8a60-4ff0-805b-ba7cdc59e49b",

            "updated_on": "2020-07-29 20:57:31"

        },

        {

            "date_updated": "2020-07-29 16:32:02",

            "name_on_account": "Cardholder",

            "contact_id": "856e657d-8a60-4ff0-805b-ba7cdc59e49b",

            "address_state": "MA",

            "vendor": null,

            "address_country": "USA",

            "id": "a10bc315-e01c-4e7a-99ba-f02319b12c86",

            "address_line2": null,

            "address_line1": "123 High St",

            "masked_number": "...0120",

            "account_hash": "$2b$10$0/K7J0AtCc1sdcGdF0Af8eQ/dpVLGfjwGUC7ZuqmShZHHne/AJ1wi",

            "search_key": "926",

            "primary_account": false,

            "account_name": "MasterCard",

            "expire_date": "2023-12-31",

            "method": "CC",

            "masked_routing": null,

            "vendor_id": "904e3a9a-097a-11e5-b750-0242ac110009",

            "account_type": "Credit Card",

            "same_address": false,

            "account_description": "Added by Insured Portal user",

            "vendor_log": {

                "requests": [

                    {

                        "account_type": "card",

                        "prepaid": "no",

                        "cvv2": "***",

                        "user_identifier": "Jamie Morales",

                        "key": "H6ZJBESFRi0tXcO4gPgYq0N7",

                        "address": "123 High St",

                        "path": "/payments/account",

                        "process_date": "07302020",

                        "city": "Boston",

                        "name": "Cardholder",

                        "zip": "02110",

                        "expiration_date": "1223",

                        "state": "MA",

                        "account_number": "a*0bc315-e01c-4e7a-99ba-f02319b12c86",

                        "customer_identifier": "856e657d-8a60-4ff0-805b-ba7cdc59e49b",

                        "action": "post",

                        "card_number": "************0120"

                    }

                ],

                "responses": [

                    {

                        "data": {

                            "account_status": "active",

                            "gateway_message": "APPROVED",

                            "account_token": "3WODMFtAyfqJiBXkgJkLeGFU"

                        }

                    }

                ]

            },

            "company_on_account": "",

            "active": true,

            "address_zip": "02110",

            "address_city": "Boston",

            "vendor_payment_method_id": "3WODMFtAyfqJiBXkgJkLeGFU",

            "customer_profile_id": "856e657d-8a60-4ff0-805b-ba7cdc59e49b",

            "updated_on": "2020-07-29 21:32:01"

        }

    ],

    "messages": [],

    "success": true

}

Step 9: Retrieve expiring methods

The retrieve_payment_methods (/v2/payments/retrieve_payment_methods) endpoint requires a contact_ID and returns a payload with the payment method information and expiration year. Enter the expiration year in the payload to filter by expiration year.

Sample request

View code
curl --location --request POST '<client_url>/api/v2/payments/retrieve_payment_methods' \
--header 'Content-Type: application/json' \
--data-raw '{
"api_key": "",
"contact_ids": ["c94446b8-a49f-4dbf-8eee-5dec93a28fad"],
"exp_less_than": 2025

}'

Sample response

View code
{
	"data": [{
				"date_updated": "2019-10-01 21:40:28",
				"name_on_account": "Joe Test",
				"contact_id": "c94446b8-a49f-4dbf-8eee-5dec93a28fad",
				"address_state": "LA",
				"vendor": "AuthnetCNP",
				"address_country": "USA",
				"id": "0251f13d-86ee-4421-90bc-aa12217d7d7e",
				"address_line2": null,
				"address_line1": "1010 Oak Lane",
				"masked_number": "...3010",
				"account_hash": "$2b$xxxxx/sdfwergalklknewlr/aldkwleadfEPl0/exW",
				"search_key": "54a",
				"primary_account": false,
				"account_name": "VISA",
				"expire_date": "2023-01-31",
				"method": "CC",
				"masked_routing": null,
				"vendor_id": "2c869d96-32e1-11e0-9ec0-00163e2d1c00",
				"account_type": "Credit Card",
				"same_address": false,
				"account_description": "",
				"vendor_log": {
					"requests": [{
						"Body": {
							"CreateCustomerProfile": {
								"profile": {
									"paymentProfiles": {
										"CustomerPaymentProfileType": {
											"billTo": {
												"city": "New Orleans",
												"zip": "70117",
												"firstName": "Joe",
												"lastName": "Test",
												"company": null,
												"faxNumber": null,
												"state": "LA",
												"phoneNumber": null,
												"address": "1010 Oak Lane",
												"country": "USA"
											},
											"customerType": "individual",
											"payment": {
												"creditCard": {
													"cardNumber": "************3010",
													"expirationDate": "2023-01"
												}
											}
										}
									},
									"email": null,
									"shipToList": {
										"city": null,
										"zip": null,
										"firstName": "Joe",
										"lastName": "Test",
										"company": null,
										"faxNumber": null,
										"state": null,
										"phoneNumber": null,
										"address": null,
										"country": null
									},
									"merchantCustomerId": null,
									"description": "c94446b8-a49f-4dbf-8eee-5dec93a28fad"
								},
								"merchantAuthentication": {
									"transactionKey": "45685pS2pe4C7St3",
									"name": "97kMujJ4D"
								},
								"validationMode": "testMode"
							}
						},
						"company_on_account": "",
						"active": true,
						"address_zip": "70117",
						"address_city": "New Orleans",
						"vendor_payment_method_id": "1833937411",
						"customer_profile_id": "1920958280",
						"updated_on": "2019-10-01 21:40:28"
					}],
					"messages": [],
					"success": true
				}

Step 10: Add a payment method

Theadd_payment_method (v2/payments/add_payment_method) endpoint allows you to add a new payment method. Send the following details in the request payload.

View code
{
    "card_expires_mm": "<string>",
    "ach_bank": "<string>",
    "card_cvv2": "<string>",
    "card_name_on": "<string>",
    "contact_id": "<string>",
    "ach_account": "<string>",
    "card_type": "<string>",
    "card_expires_yy": "<string>",
    "ach_type": "<string>",
    "ach_routing": "<string>",
    "ach_name_on": "<string>",
    "type": "<string>",
    "card_number": "<string>",
    "address": "<object>"
}

Sample request

View code
curl --location --request POST '<client url>/api/v2/payments/add_payment_method' \
--header 'Authorization: <enter your access token>' \
--header 'Content-Type: text/plain' \
--header 'Cookie: webpy_session_id=528cf252caacd5992d669796f8d7a98a7bef10da' \
--data-raw '{
    "card_number": "5123012301230120",
    "card_type": "MasterCard",
    "card_name_on": "Cardholder",
    "card_expires_mm": "12",
    "card_expires_yy": "2023",
    "card_cvv2": "123",
    "type": "CC",
    "contact_id": "856e657d-8a60-4ff0-805b-ba7cdc59e49b",
    "address":
{
"address_line1": "123 High St",
"address_line2": null,
"address_city": "Boston",
"address_country": "USA",
"address_state": "MA",
"address_zip": "02110"}

}'

Sample response

View code
"message": "The payment method was successfully created.",
    "paymentMethod": {
        "vendorId": "904e3a9a-097a-11e5-b750-0242ac110009",
        "accountDescription": "Added by Insured Portal user",
        "accountHash": "$2b$10$0/K7J0AtCc1sdcGdF0Af8eQ/dpVLGfjwGUC7ZuqmShZHHne/AJ1wi",
        "companyOnAccount": "",
        "contactId": "856e657d-8a60-4ff0-805b-ba7cdc59e49b",
        "addressLine2": null,
        "primaryAccount": false,
        "addressLine1": "123 High St",
        "customerProfileId": "856e657d-8a60-4ff0-805b-ba7cdc59e49b",
        "id": "a10bc315-e01c-4e7a-99ba-f02319b12c86",
        "addressCountry": "USA",
        "maskedRouting": null,
        "updatedOn": "2020-07-29 21:32:01.403503",
        "accountName": "MasterCard",
        "maskedNumber": "...0120",
        "nameOnAccount": "Cardholder",
        "dateUpdated": "2020-07-29 16:32:02",
        "method": "CC",
        "searchKey": "926",
        "vendor": null,
        "sameAddress": false,
        "accountType": "Credit Card",
        "active": true,
        "addressCity": "Boston",
        "expireDate": "2023-12-31 00:00:00",
        "addressState": "MA",
        "vendorLog": {
            "requests": [
                {
                    "account_type": "card",
                    "prepaid": "no",
                    "cvv2": "***",
                    "user_identifier": "Jamie Morales",
                    "key": "H6ZJBESFRi0tXcO4gPgYq0N7",
                    "address": "123 High St",
                    "path": "/payments/account",
                    "process_date": "07302020",
                    "city": "Boston",
                    "name": "Cardholder",
                    "zip": "02110",
                    "customer_identifier": "856e657d-8a60-4ff0-805b-ba7cdc59e49b",
                    "state": "MA",
                    "account_number": "a*0bc315-e01c-4e7a-99ba-f02319b12c86",
                    "expiration_date": "1223",
                    "action": "post",
                    "card_number": "************0120"
                }
            ],
            "responses": [
                {
                    "data": {
                        "account_status": "active",
                        "gateway_message": "APPROVED",
                        "account_token": "3WODMFtAyfqJiBXkgJkLeGFU"
                    }
                }
            ]
        },
        "vendorPaymentMethodId": "3WODMFtAyfqJiBXkgJkLeGFU",
        "addressZip": "02110"
    },
    "success": true
}

Step 11: Process the payment

To process the payment, use the make_payment_by_contact_and_payment_method (/v2/payments/make_payment_by_contact_and_payment_method) endpoint. This endpoint takes an invoice or policy number to identify the respective policy and primary payment method and then apply the payment amount on the payment date. The system uses the auto-pay payment method, but if there’s no auto-pay set up, it will default to the primary insured’s first payment method.

Sample request

View code
curl --location --request POST '<client url>/api/v2/payments/make_payment_by_contact_and_payment_method' \
--header 'Content-Type: application/json' \
--header 'Authorization: <enter your access token>' \
--data-raw '{ 
	"api_key": "",
    "policy_id": "16056f67-82c7-4dab-bc6c-0533408dab9f",
    "payment_method_id": "b5d0cbd8-15c4-4623-a145-08b2c93e9d54",
    "payment_amount": "500"
}'

Sample response

View code
{

    "data": [

        {

            "success": true,

            "attachmentId": "3c50d01e-2dda-4219-80f9-4f9caecfe001",

            "policyId": "16056f67-82c7-4dab-bc6c-0533408dab9f",

            "paymentId": "dd9a7691-ca9c-4308-acbf-380561ceeff4",

            "message": "Updated account balances.",

            "paymentMethod": {

                "vendorId": "904e3a9a-097a-11e5-b750-0242ac110009",

                "accountDescription": "Added by Insured Portal user",

                "accountHash": "$2b$10$BBCvV.6yFjHv.Yf/VaSTq.EW8nK4jqelIe4BHF31lVX2jYbhkwIHq",

                "companyOnAccount": "",

                "contactId": "8f9097bf-1353-4520-b849-64575c82da12",

                "addressLine2": null,

                "primaryAccount": false,

                "addressLine1": "123 Main Street",

                "customerProfileId": "8f9097bf-1353-4520-b849-64575c82da12",

                "id": "f274f2a5-a280-4b52-8220-62503a5abf1e",

                "addressCountry": "USA",

                "maskedRouting": null,

                "updatedOn": "2020-07-24 13:55:15",

                "accountName": "MasterCard",

                "maskedNumber": "...0120",

                "nameOnAccount": "Cardholder",

                "dateUpdated": "2020-07-24 13:55:18",

                "method": "CC",

                "searchKey": "787",

                "vendor": null,

                "sameAddress": false,

                "accountType": "Credit Card",

                "active": true,

                "addressCity": "ROXBURY CROSSING",

                "expireDate": "2023-12-31",

                "addressState": "MA",

                "vendorLog": {

                    "requests": [

                        {

                            "account_type": "card",

                            "prepaid": "no",

                            "cvv2": "***",

                            "user_identifier": "Joe Insured",

                            "key": "H6ZJBESFRi0tXcO4gPgYq0N7",

                            "address": "123 Main Street",

                            "path": "/payments/account",

                            "process_date": "07252020",

                            "city": "ROXBURY CROSSING",

                            "name": "Cardholder",

                            "zip": "02120",

                            "expiration_date": "1223",

                            "state": "MA",

                            "account_number": "f**4f2a5-a280-4b52-8220-62503a5abf1e",

                            "customer_identifier": "8f9097bf-1353-4520-b849-64575c82da12",

                            "action": "post",

                            "card_number": "************0120"

                        }

                    ],

                    "responses": [

                        {

                            "data": {

                                "account_status": "active",

                                "gateway_message": "APPROVED",

                                "account_token": "KcRhDaqYv276mI8ngfsUgCPx"

                            }

                        }

                    ]

                },

                "vendorPaymentMethodId": "KcRhDaqYv276mI8ngfsUgCPx",

                "addressZip": "02120"

            },

            "confirmationNumber": "76611596208631"

        }

    ],

    "messages": [],

    "success": true

}

Step 12: Retrieve account/payment history

The retrieve_account_history endpoint (v2/policies/retrieve_account_history) returns payment history for a policy_id and policy_term_id. You can add optional filter parameters as well.

Sample request

View code
curl --location --request POST 'https://sales-demo.britecore.com/api/v2/policies/retrieve_account_history' \
--header 'Authorization: <enter your access token here' \
--header 'Content-Type: text/plain' \
--header 'Cookie: webpy_session_id=70e6375d4c1936ff1e7f37a23cdf5b2966cdc104' \
--data-raw '{

    "policy_term_id": "b6705158-dfa7-44d1-9f1f-97673633c956",
    "policy_id": "485ee28b-0487-4bf8-9b7c-e72359e2065b"
}'

Sample response

View code
{
    "data": {
        "activePage": 1,
        "maxPages": 1,
        "records": [
            {
                "fileKey": null,
                "date": "07/29/2020",
                "data": {
                    "amount": 500.00,
                    "premiumOverview": {
                        "debitCustomFeeProRata": 0.0,
                        "revisionWrittenFee": 0,
                        "debitCustomFeeFullyEarned": 0.0,
                        "revisionWrittenPremium": 298.0,
                        "revisionAnnualFee": 0,
                        "revisionAnnualPremium": 298.0,
                        "paymentAmount": 798.0,
                        "debitPremiumFullyBilled": 0.0,
                        "customFeesBilled": 0.0,
                        "premiumBilled": 298.0,
                        "debitSystemFee": 0.0,
                        "debitPremiumFullyEarned": 0.0,
                        "debitPremiumProRata": 298.0,
                        "payoffAmount": -500.0,
                        "debitCustomFeeFullyBilled": 0.0
                    },
                    "details": {
                        "showDelete": true,
                        "generatedBy": "britecore_maliha.balala@britecore.com",
                        "payor": "Jamie Morales",
                        "description": "Paid through policy term.",
                        "showVoid": true,
                        "sweepCheckNumber": null,
                        "paymentAmount": "500.00",
                        "paymentStatus": "Incomplete",
                        "nsf": false,
                        "policyStatus": "Active",
                        "nsfFee": "25.00",
                        "showEditAndReprint": false,
                        "dirty": false,
                        "showWaive": false,
                        "paymentInterface": "Credit Card",
                        "paymentId": "d2ab6f16-8495-4014-ad88-4a6e531353a0",
                        "confirmationNumber": "20741596060380",
                        "paymentMethod": "VISA ...1111"
                    }
                },
                "id": "cca4dfe9-8874-4439-8520-0bcc4965e274",
                "icon": "",
                "summary": "Paid through policy term.",
                "credit": 500.00,
                "amount": 500.00,
                "debit": "",
                "balance": "-500.00",
                "type": "Payment"
            },
            {
                "fileKey": null,
                "date": "12/04/2019",
                "data": {
                    "amount": 149.82,
                    "premiumOverview": {
                        "debitCustomFeeProRata": 0.0,
                        "revisionWrittenFee": 0,
                        "debitCustomFeeFullyEarned": 0.0,
                        "revisionWrittenPremium": 298.0,
                        "revisionAnnualFee": 0,
                        "revisionAnnualPremium": 298.0,
                        "paymentAmount": 298.0,
                        "debitPremiumFullyBilled": 0.0,
                        "customFeesBilled": 0.0,
                        "premiumBilled": 298.0,
                        "debitSystemFee": 0.0,
                        "debitPremiumFullyEarned": 0.0,
                        "debitPremiumProRata": 298.0,
                        "payoffAmount": 0.0,
                        "debitCustomFeeFullyBilled": 0.0
                    },
                    "details": {
                        "showDelete": false,
                        "description": "Reinstatement: Transfer from Return Premium.",
                        "generatedBy": "test",
                        "policyStatus": "Active",
                        "showEditAndReprint": false,
                        "dirty": false,
                        "showWaive": false,
                        "paidTo": "N/A"
                    }
                },
                "id": "d8a1ebef-713d-4886-9431-7b24ac9261f3",
                "icon": "",
                "summary": "Reinstatement: Transfer from Return Premium.",
                "credit": 149.82,
                "amount": 149.82,
                "debit": "",
                "balance": "0.00",
                "type": "Return Premium Transfer"
            },
            {
                "fileKey": null,
                "date": "12/04/2019",
                "data": {
                    "amount": 149.82,
                    "premiumOverview": {
                        "debitCustomFeeProRata": 0.0,
                        "revisionWrittenFee": 0,
                        "debitCustomFeeFullyEarned": 0.0,
                        "revisionWrittenPremium": 298.0,
                        "revisionAnnualFee": 0,
                        "revisionAnnualPremium": 298.0,
                        "paymentAmount": 148.18,
                        "debitPremiumFullyBilled": 0.0,
                        "customFeesBilled": 0.0,
                        "premiumBilled": 298.0,
                        "debitSystemFee": 0.0,
                        "debitPremiumFullyEarned": 0.0,
                        "debitPremiumProRata": 298.0,
                        "payoffAmount": 149.82,
                        "debitCustomFeeFullyBilled": 0.0
                    },
                    "details": {
                        "showDelete": false,
                        "cancelDate": "12/04/2019",
                        "description": "Policy set to Active: Accidental cancellation",
                        "generatedBy": "test",
                        "policyStatus": "Active",
                        "showEditAndReprint": true,
                        "dirty": false,
                        "showWaive": false,
                        "dueDate": "12/04/2019"
                    }
                },
                "id": "76a3dc33-c89c-4faf-95ca-2eacddb91899",
                "icon": "",
                "summary": "Policy set to Active: Accidental cancellation",
                "credit": "",
                "amount": 149.82,
                "debit": 149.82,
                "balance": "149.82",
                "type": "Reinstatement"
            },
            {
                "fileKey": "cb8f1e72-0b14-435e-a0af-0f79578e6994",
                "date": "12/04/2019",
                "data": {
                    "amount": 149.82,
                    "premiumOverview": {
                        "debitCustomFeeProRata": 0.0,
                        "revisionWrittenFee": 0,
                        "debitCustomFeeFullyEarned": 0.0,
                        "revisionWrittenPremium": 298.0,
                        "revisionAnnualFee": 0,
                        "revisionAnnualPremium": 298.0,
                        "paymentAmount": 148.18,
                        "debitPremiumFullyBilled": 0.0,
                        "customFeesBilled": 0.0,
                        "premiumBilled": 148.18,
                        "debitSystemFee": 0.0,
                        "debitPremiumFullyEarned": 0.0,
                        "debitPremiumProRata": 148.18,
                        "payoffAmount": 149.82,
                        "debitCustomFeeFullyBilled": 0.0
                    },
                    "details": {
                        "showDelete": true,
                        "description": "Refund unearned amounts following cancellation/expiration on 06/03/2020.",
                        "generatedBy": "test",
                        "policyStatus": "Active",
                        "showEditAndReprint": false,
                        "dirty": false,
                        "showWaive": false,
                        "paidTo": "Jamie Morales"
                    }
                },
                "id": "9ae8489a-4b30-4bfb-ab9a-75f5a7282589",
                "icon": "",
                "summary": "Refund unearned amounts following cancellation/expiration on 06/03/2020.",
                "credit": "",
                "amount": 149.82,
                "debit": 149.82,
                "balance": "0.00",
                "type": "Return Premium"
            },
            {
                "fileKey": null,
                "date": "12/04/2019",
                "data": {
                    "amount": 149.82,
                    "premiumOverview": {
                        "debitCustomFeeProRata": 0.0,
                        "revisionWrittenFee": 0,
                        "debitCustomFeeFullyEarned": 0.0,
                        "revisionWrittenPremium": 298.0,
                        "revisionAnnualFee": 0,
                        "revisionAnnualPremium": 298.0,
                        "paymentAmount": 298.0,
                        "debitPremiumFullyBilled": 0.0,
                        "customFeesBilled": 0.0,
                        "premiumBilled": 148.18,
                        "debitSystemFee": 0.0,
                        "debitPremiumFullyEarned": 0.0,
                        "debitPremiumProRata": 148.18,
                        "payoffAmount": 0.0,
                        "debitCustomFeeFullyBilled": 0.0
                    },
                    "details": {
                        "showDelete": false,
                        "description": "Unearned premium / fees. Adjusted to 06/03/2020.",
                        "generatedBy": "test",
                        "policyStatus": "Active",
                        "showEditAndReprint": false,
                        "dirty": false,
                        "showWaive": false
                    }
                },
                "id": "f774670d-6fe0-418c-841b-16f8cce3ca00",
                "icon": "",
                "summary": "Unearned premium / fees. Adjusted to 06/03/2020.",
                "credit": 149.82,
                "amount": 149.82,
                "debit": "",
                "balance": "-149.82",
                "type": "Adjustment"
            },
            {
                "fileKey": null,
                "date": "12/04/2019",
                "data": {
                    "amount": 298.00,
                    "premiumOverview": {
                        "debitCustomFeeProRata": 0.0,
                        "revisionWrittenFee": 0,
                        "debitCustomFeeFullyEarned": 0.0,
                        "revisionWrittenPremium": 298.0,
                        "revisionAnnualFee": 0,
                        "revisionAnnualPremium": 298.0,
                        "paymentAmount": 298.0,
                        "debitPremiumFullyBilled": 0.0,
                        "customFeesBilled": 0.0,
                        "premiumBilled": 298.0,
                        "debitSystemFee": 0.0,
                        "debitPremiumFullyEarned": 0.0,
                        "debitPremiumProRata": 298.0,
                        "payoffAmount": 0.0,
                        "debitCustomFeeFullyBilled": 0.0
                    },
                    "details": {
                        "showDelete": true,
                        "generatedBy": "test",
                        "payor": "Jamie Morales",
                        "description": "Paid through policy term.",
                        "showVoid": true,
                        "sweepCheckNumber": null,
                        "paymentAmount": "298.00",
                        "paymentStatus": "Complete",
                        "nsf": false,
                        "policyStatus": "Active",
                        "nsfFee": "25.00",
                        "showEditAndReprint": false,
                        "dirty": false,
                        "showWaive": false,
                        "paymentInterface": "Cash",
                        "paymentId": "fcd34ba4-e8a8-4163-810a-50832a6523bc",
                        "confirmationNumber": "44541575470584",
                        "paymentMethod": "Cash "
                    }
                },
                "id": "a99e7f23-034a-4611-a4ea-ff2a17989b8e",
                "icon": "",
                "summary": "Paid through policy term.",
                "credit": 298.00,
                "amount": 298.00,
                "debit": "",
                "balance": "0.00",
                "type": "Payment"
            },
            {
                "fileKey": "0008eb5c-269d-4986-addf-e91d915de0c1",
                "date": "12/04/2019",
                "data": {
                    "amount": 298.00,
                    "schedule": {
                        "Premium": 298.0,
                        "Installment Fee": 0.0,
                        "Custom Fees": 0.0
                    },
                    "details": {
                        "showDelete": false,
                        "cancelDate": "01/16/2020",
                        "paidInFull": true,
                        "billDate": "12/04/2019",
                        "description": "Initial Invoice",
                        "generatedBy": "test",
                        "policyStatus": "Active",
                        "showEditAndReprint": true,
                        "dirty": false,
                        "showWaive": false,
                        "dueDate": "01/03/2020"
                    }
                },
                "id": "28d60a65-7f6c-4792-a831-130755c4a204",
                "icon": "view",
                "summary": "Initial Invoice",
                "credit": "",
                "amount": 298.00,
                "debit": 298.00,
                "balance": "298.00",
                "type": "Invoice"
            }
        ]
    },
    "messages": [],
    "success": true
}

Step 13: Retrieve payments on policy

Use the retrieve_payments_on_policy endpoint (v2/utils/retrieve_payments_on_policy) to view the list of payments made on the policy.

Sample request

View code
curl --location --request POST '<client url>/api/v2/utils/retrieve_payments_on_policy' \
--header 'Authorization: <enter your access token>' \
--header 'Content-Type: text/plain' \
--header 'Cookie: webpy_session_id=70e6375d4c1936ff1e7f37a23cdf5b2966cdc104' \
--data-raw '{

    "policy_number": "P-2019-43"
}

Sample response

View code
{
    "data": [
        {
            "transaction_amount": 500.00,
            "transaction_date_time": "2020-07-29 22:06:20",
            "id": "d2ab6f16-8495-4014-ad88-4a6e531353a0",
            "description": "Paid through policy term."
        },
        {
            "transaction_amount": 298.00,
            "transaction_date_time": "2019-12-04 08:43:04",
            "id": "fcd34ba4-e8a8-4163-810a-50832a6523bc",
            "description": "Paid through policy term."
        }
    ],
    "messages": [],
    "success": true
}

Step 14: List policy documents and receipts

Use the endpoint list_attachments (/v2/deliverables/list_attachments) to list all related attachments in the policy, including receipts.

Sample request

View code
curl --location --request POST '<client url>/api/v2/deliverables/list_attachments' \
--header 'Authorization: <enter your access token>' \
--header 'Content-Type: text/plain' \
--header 'Cookie: webpy_session_id=70e6375d4c1936ff1e7f37a23cdf5b2966cdc104' \
--data-raw '{
 
    "policy_id": "485ee28b-0487-4bf8-9b7c-e72359e2065b"
}'

Sample response

View code
"data": [

        {

            "policy_id": "4510c78e-cc64-4f9d-b591-e66b8882e2d1",

            "label": "Areceipt sample.pdf",

            "id": "6da8fbdc-9d35-4614-a8ce-83c85772994f",

            "print_date": null,

            "title": "Areceipt sample.pdf"

        },

        {

            "policy_id": "4510c78e-cc64-4f9d-b591-e66b8882e2d1",

            "label": null,

            "id": "817d0c5d-418f-4a95-99a5-3041badaecd7",

            "print_date": null,

            "title": "12-04-2019 - Initial Billing Statement"

        },

        {

            "policy_id": "4510c78e-cc64-4f9d-b591-e66b8882e2d1",

            "label": null,

            "id": "9d457c34-ce25-4cd8-910e-c6c5e44d007e",

            "print_date": null,

            "title": "Receipt"

        },

        {

            "policy_id": "4510c78e-cc64-4f9d-b591-e66b8882e2d1",

            "label": null,

            "id": "afa8016e-58e6-4335-8b4f-019354567149",

            "print_date": null,

            "title": "Initial Billing Statement"

        }

    ],

    "messages": [],

    "success": true

}

Step 15: Get the Receipt (Base64)

To get your payment receipt, pass the file_id from step 13 to the endpoint get_attachment (v2/deliverables/get_attachment).

Sample request

View code
curl --location --request POST 'https://sales-demo.britecore.com/api/v2/deliverables/get_attachment' \
--header 'Authorization: ‘enter your access token' \
--header 'Content-Type: text/plain' \
--header 'Cookie: webpy_session_id=70e6375d4c1936ff1e7f37a23cdf5b2966cdc104' \
--data-raw '{
    "file_id": "6da8fbdc-9d35-4614-a8ce-83c85772994f"
}'

Sample response

View code
"JVBERi0xLjQNJeLjz9MNCjEgMCBvYmoNPDwvVHlwZS9QYWdlL1Bhcm
VudCA2IDAgUi9Db250ZW50\ncyA1IDAgUi9NZWRpYUJveFswIDAgNjE
yIDc5Ml0vUmVzb3VyY2VzPDwvUHJvY1NldFsvUERGL1Rl\neHQvSW1Z2VCL0ltYWdlQy9JbWFnZUldL0ZvbnQ8PC9GMSAyIDAgUi9GMiAzIDAgUj4+L1hPYmpl\nY3Q8PC9Gb3JtWG9iLjJmYTVlZTM2NTRjZDg1ZWFkMWI5MjI2ZmE1OWQzODk1IDQgMCBSPj4+Pi9U\ncmFuczw8Pj4+Pg1lbmRvYmoNMiAwIG9iag08PC9UeXBlL0ZvbnQvU3VidHlwZS9UeXBlMS9CY
XNl\nRm9udC9IZWx2ZXRpY2EvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nPj4NZW5kb2JqDTMgMCBvYmoN\nPDwvVHlwZS9Gb250L1N1YnR5cGUvVHlwZTEvQmFzZUZvbnQvSGVsdmV0aWNhLUJvbGQvRW5jb2Rp\nbmcvV2luQW5zaUVuY29kaW5nPj4NZW5kb2JqDTQgMCBvYmoNPDwvVHlwZS9YT2JqZWN0L1N1YnR5\ncGUvSW1hZ2UvV2lkdGggNDAzL0hlaWdodCA0
MTcvQml0c1BlckNvbXBvbmVudCA4L0NvbG9yU3Bh\nY2UvRGV2aWNlUkdCL0ZpbHRlci9EQ1REZWNvZGUvTGVuZ3RoIDIzMjM2Pj5zdHJlYW0NCv/Y/+AA\nEEpGSUYAAQEAAAEAAQAA/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQu\nJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIy\nMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgBoQGTAwEiAAIRAQMR\nAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQEC\nAwAEEQU
SITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNE\nRUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqy\ns7S1tre4ubrCw8TF
xsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEB\nAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEH\nYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZX\nWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLD\nxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A9/ooooAKKKKA\nCiiqeo6rp+k
WjXeo3tvaW69ZJ5Ai/maALlFeQeI/2hPDemF4tGt7jVphkBx+6iz/ALxGT+A/GvKt\nd+OnjPWCyW11DpkB/gs48Nj/AH2yfyxQB9XXN3b2cRluZ4oIx1eVwoH4muV1H4p+CNMLLceI7JmX\ntAxmP/jgNfHd/qmoapMZtQvbi7lP8c8rOf1NVOaAPrGf4+eBYvuXV5N/1ztWH/oWKji/aA8DyPhp\nNQiH957XI/QmvlKigD7a8O+P/C/ipxFpGsQTz4z5DZjk/wC+WAJ/Culr4Ft7ia1uI57eV4po2DJI\njYZSOhBHQ19v+DtRutW8GaNqF6P9KubOKWU4xlioJOPfr+NAG3RRRQAUUUUAFFFFABRRRQAUUUUA\nFFFFABXnPiT41+EPD08lql1JqN3GdrR2ahlU+hc4X8iasfGbUL/Tfhjqk1g7xu5jikkTqsbOA355\nx+NfH1AH0DdftJMWItPDcYXsZr3n8gn9arr+0jfg/N4fsyPQXbj/ANlrwaigD6Ktf2krRiBeeHJE\nHcw3iv8AoVFdJp/x98E3m0XE95ZMevnW5YD8UzXyjRQB9xaR4z8N69gaZrdjcuekazAP/wB8nB/S\nt2vgEEg5B59a6vQfiV4u8OFVsNbuTCv/ACwnbzY8em1s4/D
FAH2nRXgnhr9o6NykHiXSjGehubE5\nH1MbHP5E/SvY9A8VaH4otftGjalBdoBllRsOn+8p5H4igDYooooAKKKKACiiigAooooAKKKKACii\nigAooooAKKKKACiiigArN1vX9K8OWDX2r30Npbr/ABSNgsfRR1Y+wrzT4h/G/TvDbS6ZoIi1DVFy\nry5zDAfcj77ew49T2r5w13xDq3iXUWv9X
vpbu4boXPCj0UdFHsKAPZvF/wC0RPIXtfCln5SdPtt2\noLH3VOg/4Fn6V4tq+u6rr94bvVtQuLyc/wAUzlsewHQD2FZ9FABRTlRnOAPr7U/KR
9MO3qeg/wAa\nAGrGSNzEKvqe/wBKcJQh/drj3PJNRsxc5YkmkoAfIoVsr90jIplSJ86FO45X+teh/Dz4Uar4ymS6\nkDWmkg/PduvL+0YP3j79B79KAM74a/D+78c+Io4WR00u3YPeT9ML/cB/vN0HoMntX2LDDHbwRwxI\nqRxqFRVGAoAwAKoaBoGm+GtIh0zSrZYLaIdByWbuzHuT61p0AFF
FFABRRRQAUUUUAFFFFABRRRQA\nUUUUAU9V0y11nSrrTb6IS2tzG0UiHuCP0PvXx38QPAGpeBNaa3uFaWwlYm1uwPllX0Pow7j8elfa\nFUNY0bTtf02XTtUtI7q0lGGjkH6juCOxHIoA+D6K9V+KPwhPgqE6tp18k2lS
SiNYp2xLGxzhR2cc\nHng+3evKyCpwQQaAEooooAKKKKACrNjqF5pl5Hd2N1NbXMZyksLlGX6EVWooA928DftA3EDR2Pi6\nMzw/dF/CmHX/AH0HDfUYPsa9/wBP1Gz1WxivbC5iubWZd0csTblYfWvgqu0+HvxF1TwHqoeFmn02\nVh9psy3DD+8v91vfv0NAH2XRVLSNWs9c0m11PT5hNaXMYkjcdwfX0I6EdiKu0AFFFFABRRRQAUUU\nUAFFFFABRRRQAUUUUAFfOfxd+MUt3PceHPDVwUtVJjur2JuZT0KIR0XsT37cdfR/jX4luPDfw9n+\nxu0dzfyi0WReqBgSxHvtUj8a+RaACiiigAAz0qXy1TmQ8/3R1/H0pc7
Yg0fHZj3BqGgB7SFhjgL2\nUdKZRRQAUUUDk0AXbKEswb8jX2P8O/EkfibwfZ3QCJcQqILiNAAFdQOgHQEYI+tfI2nR8CvW/hT4\ngOgeIVhlfbZX2IpcnhW/gb8zj6H2pAfRNFFFMAooooAKKKKACiiigAooqtZ30F8JzAxPkzNC+RjD\nL1oAs0UVxXxA8ap4Z0/7NaOrancKfLHXyl/vn+g7n6Um0ldmlKlKrNQjuzr4bqG4eZYZA5hfy3x2\nbAOPryKmrnvBGnyaf4P0+OYlp5UM8rE5JdzuOffmuhoWqJnFRk0ugUUVV1K/h0vTLm+nOIreNpG9\n8Dp+PSmSeA/HvWjquv2uhRNmDT08yUDoZXH9Fx/30a8beyIGMZ
Hoa7zUo7jU7+5v7n5p7mRpZD7k\n5/8ArVk3FhtB4pDONkhCnGSv16fnUZicDO3I9RyK27y0AB4rFcNDJwSD6imIjoqTzSfvKrfUc0v7\ns8lGX6HNAEVFPCxn+Mjjuveu28NfCXxR4r0VNW0yG2NpI7IjSzbC2OCQCOmcjPsaAOGor1i2/Z68\nZTOBLNpcC9y9wzf+gqa7Tw9+zjY28yTeINXe7CnJt7VPLU+xc8kfQCgDX/Z4a9Pw/uRcBvs4vn+z\nbv7u1d2Pbdn8c165VewsLTS7GGxsbeO3tYECRxRjCqB6VYoAKKKKACiiigAooooAKKKKACiiigAo\noooA5nx54NtvHPhebSLiUwybhLBMBny5BnBx3GCQR6GvmPXPg5420Wd1/siS+hH3ZrI+aGH0HzD8\nRX2FRQB8Nnwd4nVtp8OauD6fYZP/AImrlr8OfGV6QIfDOqc93t2Qfm2K+2KKAPk/SvgT45vCpmtL\nSxRuv2m4U8fRNxrlfG3gnVPA2t/2fqKq6uu+C4jB2Sr3xnuDwR/iK+2q53xp4O07xt4fl0u/Xa33\noJwMtDJ2YfyI7igD4iqxFavJz0rZ1jwtqHhnXrnStTh2XELcEfddezKe4P8AnmrNrZZxxQBjx6fn\nqKe+n45A
rqItPzj5akfTjj7tK4zEsIipAIrrdLiyVrPtrDnGK6HTLNldeOKAPefBusNq2gxec2bm\nACOUnq3o34j9Qa5aLxpO3xzl8P8AmeZZG08hVXokwXzCT+Hy07wc8llcq4zsYbZB6r/9brXj+i+I\nDJ8ZYNaRgqXGrHJJ42SMU/8AQTQhH1TRQKKYBRRRQBx/xN1TUdE8FT6rpkxiuLSeGTPZl8wAqR3B\nzg1qeE/E9l4t0CDVLMgbxtliJy0Ug6qf88jBrP8AiVdWEHgDWI7+eGIT2rxxLIwBeTGVCjucgV82\neFPGmseDbm4m0qWPFwm2SOZdyEjo2MjketAH19Xm/wAItfl1uHxI0uONWklUDqFk5x+leFat488U\n63xfa5dsnP7uJ/KXn2TGfxrEt7u5tWP2a6mg3Y3GORkz9cGgD658W+KbXwtpJuZcSXEmVt4M8yN/\ngO5rwe0+1+K/Ftut3KZbi+uVEjH0zzj0AUHj2rAGoebEn2rU3unUY3zzFyB6DJ4HtXb/AAmm0648\ncIZLyATRQuYEZsGRzxhfUgbjXNJucrdD3qMKeFoOba5mv6R7+ihUCqAFAwAOwpaKK6TwQrh/iNeN\nJYwaREebhvMlx/cU8D8W/lXcE4GT0rzaR21vxBPd4LRs+yL/AHBwPz6/jSY0cZJoRWPOyuc1Kw8v\nIxXqtve2OtadfSWUZ2Wd3JaMxIO8oBlhjtzx9K4bXIMM3FIZ5xfwgZ4rnZrQyy9OK7W8tGdjxxWc\nLDLnimI56PTh/dqyNP8Al+7XRxacT/DVkaadvSgDmtJ8M3Gu61Z6XaJ+/upRGpxwuerH2Ayfwr7L\n0bSrXQ9Gs9Lsk221rEsUY9gOp9z1P1ry34N+FFimufENxHyAbe2yP++2/kv517BTEFFFFABRRRQA\nUUUUAFF
FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBx/xA8CWnjPSQAFi1K3Ba1nI790b/\nAGT+h5r5/j0meyvJbS6haG4hYpJGw5UivrCuM8b+DI9cQajZxgalCuDjjzkH8J9x2P4fRMDyOz0g\nyqPlq1PoZVfu10+gQRsypIMYOCCMEVdudV8PR61Lo97c/wBn3iYKC7GxJlPRkfoQfwP5UijhbbRm\nEn3e9dTpmhFyuE/Sush8MBVMj7VjA3FycDHrn0ryfxt8TWLy
6T4YmMVsuUlv04eU9xGf4V9+p9hR\nYVzvdX8TaL4O0u7E1/bnVRA5t7VTvYyYwu4D7vPrivnEO6uHViHB3Bh69c/nS/PLJ/E8jt7ksf5k\n10MPgDxdcQpNF4c1Fo3UMreVjIPQ4JzVCPZ9F+Ovh25WCHUoL2zkKASStGHjDd/unOPwrqR4/wBI\nvPEeiaTpV3b3v9orLI0kUmRGiISPxJHQ9ga+YdU8M67okay6npF5aRt0eWIhT+I4rNhlkglWaGRo\n5FOVeNipB9QRQB9u1ieLtZvNA8M3mpWGnSX9zCoKQICc5OMnHOB1OPSvnXQvi94u0QJG96uoQKMC\nO9Xef++xhvzJr0vQfjxol4qx61aT6fLt5kjBljJ/D5h+VAHhuveIdU8Tak99qt288x4UdFjH91V6\nKK1fCvw+8Q+Lysmn2nl2ZbDXk52xj6d2/DNe8tp/w18bahFdj+yb68yCPLlCO+OcMoILfQiu7ijj\nhiSOJFSNRhVQYAHoAKAPI9H+AWkQLG+r6ldXcg+/HDiKMn9W/Wugb4MeCCpA0yYEjqLuTI/Wu/zR\nmgDwPxb8Crizge78NXUl2q5Js7jAkx/stwD9Dg+9eQET2d0QRJBcQv0OVeNgfzBBr7aJFea/E/4Z\nQ+KLaTVdLjWPWol5A4Fyo/hb/a9D+B9gCp8LPigPEKJomtSKuqov7mY8C5Uev+2P16+terV8S/6R\nY3f/AC1t7mCT3V43U/mCCK+lfhb8RE8W6b9g1CRV1q2X5+g89P74Hr6j156GgDtdZaU6dJDACZZh\nsGB0B6n8q4jxRcL4L8F3upnatyU8m2Vh1lbgfkMn8K8q+KE3inRvGN2l3rF+1rcO0to0czInl5+6\nADgFeh/PvXBXF7d3f/HzdXE/Of3srPz68mgD2j4Jut74Y1rTs5khuUm9yHTH80rV1jRWLtla8M0b\nX9W8PXZutJv5rSZhhjGeGHXBB4I+tdxpfxj1aMrHrdpb6jF3kQCKX8x8p/Kk0M0LzRiuflrOj0hi\n5+WvRdHu9F8Y2pm0i4DugzLbyDbLH9V9PccVZbw8lsjzXBjhhQZaSRgqge5PFIZwdvohOPlrVt/D\nUlxJHDGnzyMFX6mrOoeNvB+iZX7ab+ZVz5dmu8H23/dFdj4Fub/WlOrXOkJptljFrHK5ad89XboF\nGOgxk5osK51mmafDpWm29jbjEUCBB7+p/E5NW6KKoQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU\nUUAFFFFABRRRQAUUUUAFFFFABRRRQByPibQWSVtVsE
+frcRqPvf7Y9/X1rmPEvhKPx34aMce1dUt\nVL2kh7+sZP8Adb9Dg+teq1xni29i8FaJqOtwgYCHyYuMec3Cge2TnHsaQHzP/bWu6fY3Oi/2jewW\nrMUntDKQuRwVI7dMECmaFoWoeJNXg0zTYTLcSnv91F7sx7AVRmmlubiSeZ2kmlcu7HqzE5J/Emvp\n74WeB4/Cfh1Li5iH9rXqB7hiOY16rGPp398+1MC34J+G2jeDrdJEjW61Mj95eSqNwPog/hH05Pc1\n2eBRVDV9Z0/QdOkv9Tu47a2j6u56n0A7n2HNAE5WNd8UoXyiC2G6Y7g1xWpf
DvwJ4s3yQW9qswJL\nTabKqHPuF4P4ivJviD8Wb3xSsumaWr2ekk4YniWcf7X91T/d/P0ri/DVjrV/rcFt4e+0LfyHCtbu\nYyo7lmHRR3JoA9J1z4B6rbs0mialBeRYyI7n91Jn0BGVP6Vwut/D/wAU+H8Nf6NceXt3ebAPOQD3\nK5x+NfVeh2t9Y6JZ2upXn229iiVZrjbjzG7mtCgD4fB5yDyO46itLT/EOtaS2dP1a+tT6RTsB+Wc\nV9Xax4I8M6+UOpaNazMjbg4XY2fcrgn6GuW1T4I+ErzzZLSG6spChCLDOdgbHBw2e/agDxBPiR4z\njXaviO+I/wBpgx/MimyfETxjI25vEmoA4x8sgX+Qrnrm3ls7qa2nXZNC7RyL6Mpwf1Fe4+FPgnoe\np+GNO1DVLrUPtV1Cs7pFIqKoYZAA2k9D1oA8Wm1jVLm7W7n1K8luFYOsrzsWDDoQc19KfC/x+PGe\nkyW94AurWaqLjaMLIp4Dj0zjketLp3wb8F2AO/TZLxichrqZnx+AwP0rsdN0jTtGtxb6bY29pF/d\nhjCg/XHWgDyr4vfDY6lHL4k0WAm9QZu7dB/rlH8aj+8B19R7jnwrT9Qu9K1CC/sZ3guoHDxyIeQf\n6j1Hevtevnn4yeArLQ5h4g0xkht7mYJPa9AsjAncnscEkduvegDt/D+q+Gvi/wCHI7HWbRBqF
mQ8\ntushRlPTehHO09x26Hsa1P8AhTvgfZt/sdumM/apc/8AoVfMumane6NqMOoafcPb3ULbkkQ9PY+o\nPcd6+lPh98UdP8XQpZXpjs9ZUcwk4Wb3jJ/9B6j3oAztT+BHhi7ANjPfWDD+7J5qn8G5/WvLfF3w\nm8QeFYHvVCahp6cvPbghox6sh5A9xkV9SUjKGBBAIPY0AfFWnaleaTfR3un3Uttcx8pLE2CM/wBK\nm1TXNW165E2p6hc3kpwo81yfwA6fkK7v4x+Co/DevR6nYQiPTtQJ+RFwsUo5Kj0BHIH1rH+FV1YW\n3xE0z+0LeOZJWMcTSdIpSPlf65GPxoA7HwH8NPsIt9X1+2D3khBtLCQfcJ6NIPXuF7dTzxXu9vCI\nIFjzkgcse57msjT7c3Wqy3jjKxEqmf7x6n8B/OtygAooooAKKKKACiiigAooooAKKKKACiiigAoo\nooAKKKKACiiigAooooAKKKKAGSxrLE8bZ2spU4OODXm3gvxXNpWszeD9cmLSW0phs7mQ8sB91GPc\n4xg9+nXr6ZXinxf0j7Lr9tqkakJdx7HI/wCeif8A2OPyqKjcVdHXg6
cKsnSl129T2uivMPAHxGF4\nItH1uUC64WC6Y4EvorH+979/r16LXPiZ4T0CQxXerRyTjOYrYGZgRxg7eAfqRTjJSV0ZV6E6M+SZ\n1tct468FQ+ONJt7Ca+ltFhnEwaNA2TtIwQfrXn2p/tBWyxuulaHM8mfle6lCr9SFyf1rkdS+N/i+\n9cfZXs9PUdoYQ5P1L5qjE9B0f4HaHper215c6heXiwOJFikVFR2HI3YGcZ5xXa61468M+H0/4mGs\nWyPgkRI3mO2PRVya+WtU8W+Idad21DWb2cOMFDMVTHptGB+lYvA44GaAPb/Efx8LAw+HNOIy
P+Pm\n9HQ+yA/zP4V5bfalrfi26ku9S1GS4cNkea52rnsqjgD6VZ8L+AvEPi4GTS7MfZlYq1zM+yMEYyM9\nSeegBrrNd+Guo+CbBLmS4jvLeRgJJo0KiNuwIPb0P8qio2o3R1YOnCpWUamxymgeA9c8R37W9hAh\nijwZrl22xRg+p6k+w5r3/wCHvh7SfCKT6XaSNNdTASS3MgAaUjjAHYDsPc1yHwu1DybbWrMg5Kxz\nA547qf6VY1DWJ9N1GK8gb95C4cA9/UfiMiiErpMWKoqlWlCOyPYqKq6bfwapptvfWzboZ0Dqf6H3\nHSrVWcwUUUUAfNXxL8JyJ8Wo7O2jQJrUsUkQzxuYhXz6fMCfxr6SijSGJIo1CoihVA6ADgVh6z4W\nttY8SaHrEoUSaXJI445bcuAPoDg/hW/QAUUUUAIzBFLMcKBkk9hXmXinwlL8QdYsftmppa6PbK0n\nlxDM0kjHnrwAFAGee/FdN461tdI0Lyw2JrpvKTnnHVj+XH41xOl66xkBD0mxmT47+CiW1mL7wmkr\nmJf3tk8hdnA/iQnqf9nv29K8WHm282Rviljb3VlYH8wQa+uRrOPDd/cFvmgtpJAfopr5ku9Ohud0\nrMUlPLP1ye5NTKootJnTQwk60JSh0O88GfG6901UsvEqSX1sBhbuMDzl/wB4dH+vB+te2aH4n0Xx\nJbCfSdQhuV7qrYdfqp5H5V8rar4H8SaNp8WoXuk3CWcqhxKq7goPTcByh9jisO3uZ7WdZ7aaSGZf\nuyROVYfQjmrOU+rPifog1z4f6pCEQzQR/aYmb+Fk+Y49CVDD8a+U4Lh7W4iuYvvxOsqfVTkfyr6K\n+DviK78VeF9RsNZu2vJbeTysyEbjC6cAnqeQ3J5qO0+A/hiOUie71K4C9QZVQew4XPT3oA9I0eeO\n60ezuoxhbiFZh/wMbv61eqnpWm2+j6Vbada+Z9ntoxHH5jl2CjoCTyauUAFFFFABRRRQAUUUUAFF\nFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVwXxeFkngWa5unVZIJkaDJ5ZycFR6kqT+Vd\n7Xy18V/F0nifxdPBFIf7P09mggUHhmBw7/iRgewFJq6sy4TcJKUd0clNq1zIWCkRqeMAc/nVWC3m\nuZ1gtoZJpn+7HEhZj9AOa6/4eeALnxxqcgaRrfTbbH2idRkknoi5/iPXPYfUV9J+HvCei+F7NbfS\nrGOHA+aUjMjn1Zjyf5UKKWw6lWdV3m7nzfpPwm8ZasI3XSjaQv8A8tLyQR4HqV5b9K6/Tv2fb92J\n1TXbeFccC1haQ/m2BXrHjjxSng/wtc6t5QmlUrHDExwHkY4AJ9OpP0rwq9+NPjTUrpUsZbaz8whE\nhgtw5LE4HL5OSaZmejaZ8CPDFqpN/cX1++f4pPKUD6L/AI1b8a+BvD+l/DfWl0rRLOGaG0aRJBED\nINuGzvPOeD3r0K3837NF5+PN2DfgYG7HP6090WRGR1DIwwysMgj0
oA4/wtFH4Q8GaXpkiqJ44A0p\n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\nZCaG3YIxeQJubrhc8EgdfqKJ/DHi/wALXsF4
+lajZzxNvinijLbSPRlyPwr6e8Hf2F/witivhxkb\nTAmIivXPfd33Z655zW9igDz74c/Eq38VwDTdS2Wuuwr+8hYbRMB1ZAe/qvb6V6DVWTTLCa7ju5bK\n2kuYzmOZolLofUNjIq1QAUUUUAFeGfGv4V/b45vFWhW+bpAXvraMf61R1kUf3h3Hcc9evudFAHwB\n0or2z40/Cv8AsieXxPoVvjT5G3XlvGP9Qx/jA/uE9R2PsePE6APXPgN4z/sPxQ2hXcu2y1QhUyeE\nnH3T/wACHy/XbX1HXwFFI8MqSRsyOhDKynBBHQivs74a+ME8aeDLTUWZftkf7i7UdpVHJ+hGG/H2\noA6+iig0AeW/HfxP/YfgRtOhfbdaq/kDB5EQ5kP5YX/gVfKVei/GrxP/AMJH8QbqKGTdaacPskWD\nwSp+c/8AfWR9FFedUAOVyhyDVlL5l65qpRQBpjUfl606Gdp39qyq0tOxxQB1OjWMt7dQWsEZeaZ1\njjUd2JwK+sPD2iw+H9BtNMgwRAmGb++x5ZvxOa8e+CXhv7ZqE2vTx/ubT91BkdZSOT+Cn829q91p\nAFFFFMAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKpareXFhp8l1bWM\nt88fzGCJgHYd9ueCfbvXNaN8UvCesyLANSFndEkG3vkMLKR1BJ+XP40AdlRTI5Y5o1kjdXRhlWU5\nBHsayfE/ibTvCmiy6nqMu1F4jjX70r9lUep/TrQA/wAReI9N8L6TJqWqTiKFeFA5aRuyqO5NfMPj\njx9qfja/3Tk2+nxtmCzVshf9pj/E3v27VS8W+LtT8Y6u19qD4RcrBbqfkhX0HqfU9TW78PfhpfeM\n5xdzl7TR42w8+35pfVY/6t0HuaAMrwV4H1Pxrqn2e0HlWsRBuLtx8sQ9B6sew/PivomP4X+D10aL\nTH0W3kSNceew/fMe7Fxzmug0fSNO0HTotN0y3jt7eIfLGv8AMnqSfU1oUAed6L8O77wVqzXfhjVW\nksJmUXOm3x+Vl7ssgHDDtkc9DXolFFABRRRQAUUUUAFFFFADJoY54XhmRZI3Uq6OMhgeCCO4r5R+\nLfwwl8GakdS02Nn0O5f5O/2dz/Ax9P7p/DqOfrGqmp6bZ6xptxp9/Ak9rcIUkjfowP8Anr2oA+C6\n9L+CnjP/AIRfxklndS7dO1PbBLk8JJn5H/M4Ps3tWT8Sfh7eeA9dMRDzaZcEtaXJH3h/db/aH69f\npxYODQB9/VzXj/xKvhPwVqWrbgJ449luD3lb5V/InP0BrG+EXjMeMPBULXEm7UbHFvdZPLED5X/4\nEP1BrzH9ovxR9o1Sw8NQP+7tV+03AB/5aMMID9Fyf+BUAeHO7SOzuxZmOSSeSabRRQAUUUUAFaWi\n29xfahBZWsZkuJ5FjiQfxMxwBWbXtv7Pfg/7frNx4nuo8wWOYbbI4aYjk/8AAVP5t7UAe9eFtBg8\nM+G7LSYMEQRgO+PvueWb8TmtiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig\nAooooAKKKKACvLvib8KofEkcur6NGkWrgbpIui3WPX0f0PfofWvUaKAPjjT9e8Q+Frt4rK/vdPmi\nYo8G4gKe4KHj9KXxF4t1vxXNBJrN6bgwLtjAQIq56nA4ye5r2b46+HtK/sGPxB5Jj1MTx2/mRj/W\nqc
8P9ADg9e3SvBbS1lvr2C0t1LTTyLFGo7sxwP50Ad18MPh3J4y1A3l6Gj0a2fEhHBnfr5YPp6n8\nOp49s8d+KoPh54ThexsUZ2YW1pCo2xodpIJx/CAOg610WgaLa+HdCtNKs1xDbRhAccse7H3JyT9a\n4342WKXfw4uZmXL2s8UyH0+baf0Y0AeVfDnxbql38WLO91C9eeXUS1vMXPBBBKgDoAGAwK+ma+L9\nBnktvEelzxMVkjvIWUjsd4r7PFAC0UUUAFFFFABRRRQAUUUUAFFFFAGR4m8N6d4r0K40nU4t8Eo4\nYfejYdHU9iP/AK3Q18ceM/B+o+Ctfl0vUFyB80E6jCzR9mH9R2Nfb1ct488EWHjrw++n3YEdwmXt\nbkLloX9fcHoR3+oFAHzD8LPG3/CE+L47m4Zzp1yvk3aKM/L1DAeoP6E+tc14i1m48Q+ItQ1e6yJb\nudpCp/hBPC/gMD8KTXtC1Dw1rNxpWpwGG6gbDDsw7Mp7gjkGqMnzqJO54b60AR0UUUAFFFFAFiws\nrjUr+3srSMyXFxIsUSDqzMcAfnX234Q8OW/hPwtYaNb4It48SOB9+Q8s34kn9K8H/Z78H/b9buPE\n11Hm3sP3VtkcNMw5P/AVP5sPSvpSgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii\ngAooooAKKKKACiiigAooooA8w+PH/JP4v+v+L/0F68N8DsqePfD7P90ahDn/AL6FfSXxP0g6z8Pd\nWt44TLPHF58SjruQ7uPwBr5UUXFq8VwqvGysHjfBHIOQQaBpNq6PtquH+L//ACS/WPpF/wCjUrp9\nA1aHXdAsdVt/9VdQrKATyCRyD7g5Fcp8Y5Vj+GOqBurtCg+vmL/hQI+ZbBImulaWYRBCGBzjJB45\nr2XSPi9rVsFF9Db6hF/fH7tyPqOD+VeLWlu93ewW0Yy80qxqPUsQB/OvoTRfgzbwpGdW1BnC/wDL\nC1G1cem48/kBWU1K/unoYSph1TarJfqbOnfFrw7dhFu/tFlIxwRJHvUH/eXP8q7i2uYbu3juLeRZ\nIZFDI69CD3rK0jwloWibDY6bAki8iZl3yf8AfRya2quN7anJWdJy/dJpeYUUUVRkFFFFABRRRQAU\nUUUAFFFcf8T/ABP/AMIn4C1G/jfbdSJ9ntvXzH4BH0GW/CgD5s+K/ihPFPxAv5UcNZ2x+yWzD+6h\nIJ+hYsfoRXEL8jmN+AeD7ehqInJzUqkSKEY8j7p/pQBGwKsQRgikqWQFlDEfMvyt/SoqACrFjZz6\njf29laxmW4uJFiiQdWZjgD8zVevav2fPB/8AaOuT+JrqPNvYfurbI4aZhyf+AqfzYelAHvHg/wAN\nweEvCtho0GD9nj/eOP8AlpIeXb8ST+GK3aKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo\noooAKKKKACiiigAooooAKKKKACo554raB555UiijUs7u2AoHcmpKrX2n2ep2xtr62iuYCQxjlUMp\nI6cGgFbqeN+O/iQdYD6Zo8rRWB4lm+603sO4X9T9K8m1tv3UIz1Yn9K+tbfQNItFAt9LsogP7kCj\n+lcZ8U/AK+KPD4
uNOhRdUsQXhVVAMy/xR8fmPf61koPm5mz0JYymqDo04Wv1ucf8DPGSRPJ4VvZQ\nodmmsiehPV0+v8Q/GtT9oDUBH4e0rTxJh57oylAeqop5PtlhXB/B3wy+teN0vJUIttK/fyZH/LTk\nIp9DnJ/4DUvxv1gaj47+xIVMen26xZU5+dvmbP5gfhWp55z3w609dT+Ieh20i7kFyJWGOoQF/wCa\nivrivnv4B6Q9x4l1DVioMVpbeSCeu+Qg8fgp/OvoSgAooooAKKKKACiiigAooooAKKKKACvmf9ob\nxR/aHiW18PwPmHTk8yYA9ZnGcH6Lj/vo19Fa1qtvoei3uqXbYgtIWmf3AGcD3PT8a+G9X1O41nWL\nzU7tt1xdTNNIfdjnH07UAUqKKKAJ42EnDfexg/7Q/wARULKUYqeopAcVLLIJQpIw4GCex9KAHWVn\nPqF9BZ2sZluJ5FijQdWZjgD8zX234O8NweEvCtho0GD5Ef71wPvyHl2/Ek/hivBv2fPB/wDaOuz+\nJbqPNvp/7u3yOGmYcn/gKn82HpX0tQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRWJ4kTxF9kWbw5PZC5jyTb3kRKTe24EFT+n0oAtz/ANna\nHY32oeTb20aq1xcOiBNxAyWYjqfc18dapqEur6vealMAJbud5mA7FiTj9a9S8d/FTWLzQ77wxqHh\n86Zfy4juGaUsNnU7RjvjrkjFeZaHpUuu69Y6VCcPdzrFuxnaCeT+AyfwoA+jPgxof9keAoLqSNVn\n1Fzcsw6lDwmf+AjP416JXn3xR8SSeC/BEMOkzLbXczpbW20DKIo+YqOnAAH41W+FvxKXxZa/2Xqj\nqmswJnPQXKD+ID+8O4/EewB6VRRRQAUUUUAFFFFABRRRQAUUUhOASTgetAHi37RHij7D
4es/DsD4\nmv382cA9IkPAP1bH/fJr5qrrfiX4n/4Szx3qOoo+62V/ItvTyk4BH15b/gVclQAUUUUAFT2VnPqF\n9BZ2sZkuJ5FjjQdWZjgD8zUFe0/s+eD/AO0ddn8S3UebfT/3dvkcNMw5P/AVP5sPSgD3jwb4ag8J\neFLDRoMEwR/vXH/LSQ8u34nP4YreoooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo\noooAKKKKACiiigAooooAKKKKACiimvIkYy7qo9WOKAHUVzOp/ELwnpDyR3evWSyoMtHHJ5jfTC55\nri9U+PmgW6Y03T769kz/AMtAIV/M5P6UAcb8edRFz4ytLFVjxaWgLMB82XJOCfTAGB7n1o+A+kre\neMbrUWbAsLb5Rjq0h2/yDfnXBeKdefxN4mvtZkh8k3ThhFu3bAFCgZ4zwK9r/Z/tUTw1qt0APMlv\nAhOOcKgwPzY0AX/jP4Ov/Eei2uoacWlm00SM1sBkyI2Mlf8AaG0cdxmvnfT7+60vULe/spmhuYHE\nkUi9iP5j27ivtevmn4w+CR4c14arYxBNN1BidqjiKbqy/Q8sPxFAHsvhT4h6Nr3hiDU7u/s7KcDZ\ncxTTKmyQdcZPQ9R7Vj6z8bvCmnArZPcanLnGLePav/fTYH5Zr5nwCc4GfpXpfws+G7+Kr1dV1SJh\nosDcKePtTg/dH+yO579PXAB7N4F8Ta14tt5tVu9Kh0/Sn4s1Ls0so/vE8Db+HP069hTURI0VEUKi\ngBVUYAHoKdQAUUUUAFFFFABXB/F/xR/wjHw+vpIpNt3ej7Jb4PILg7iPou4/XFd5Xy38f/FH9r+M\n49HhkzbaUmxgDwZmwW/IbR+BoA8kooooAKKKKAJ7Kzn1C+gs7WMyXE8ixxoOrMxwB+Zr7a8G+GoP\nCXhSw0aDBMEf71x/y0kPLt+Jz+GK8H/Z88H/ANo67P4muo82+n/u7fI4aZhyf+AqfzYelfS1ABRR\nRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFZ+s\naJpmv2Js9Vsobu3JzslXOD6g9QfcVoUUAea6l8DvCN7zaJd6efS3m3KfwfNcdqf7P19G0jaXrcEq\ngZSO5iKMfYsuR+OK97ooA+NPEPhzU/C2qf2dq0CxXGwSAI4dWU5wQR9DXqXwB12OG91PQpXVWnC3\nMAPVio2uPy2n866b42eEH1rQY9as4913pqsZFUcyQnk/UqRnHua+fNN1G60jUrfULGYxXVu4kjcd\niP5g9CO4NAH2tWH4w8PReKPC1/pUqgtNGTEx42yDlDn64/DNZ/gXx5p3jbTPMhIhv4QPtNqx5Q+o\n9VPY/ga6ygD4jlglguJLeZCk0bmN1/usDgj86+h/CHxL0bTPBemWmoxyQ3tvD5LwW8BIAXgHPTkY\nPXqTXm/xn0NdI8fS3ESbYdRiW5GFwN/3X/UAn/epPhrY2PijxHb6VqM7oFjaTao5mC4+XPbg/oai\nbl9k6sNGg2/bNo958N+Lf+Eod5LLTLqKxTINzcFVDN6KBnPv6V0tQ2ttBZ20dtbRJFDGoVEQYCj0\nFTVSvbUwm4uV4qyCiiimQFFFFAGV4l1yDw34b1DWLjBS0haTb/eb+FfxO
B+NfDt9eT6hf3F7dOXu\nLiRpZHP8TMck/ma+jvj5rpNhZeHoW/1rfabgD+6OEH4nJ/4CK+c7i2Ik+UdaAKtKFY9Aa0bexz1G\nTWhHp/8As0Ac+Y3HVTUtlZz6hfQWdrEZLieRYo0HVmY4A/M1uyaf7V6l8DPBS3fiCbxFdRZgsP3d\nvkcNMw5P/AVP5sPSgD2zwd4ag8JeFbDRoMHyI/3rgf6yQ8u34nP4YrdoooAKKKKACiiigAooooAK\nKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAAgEYPSvn\nj4r/AAxGhNP4h0ZFGmMwNxbg48hmOMr6qSRx2z6dPoevHPjrr032TTvDFmHee9cTSpGMllU4RcDk\n5bn/AIDQB4Xp+o3mk38N9YXMlvdQncksZwR/iPboa9w8IfHSC5aGy8S23kSsVQXluMoT0y69V/DI\n+lc/pfwI1i90A3d5fxWWouN0Vm6bgB6OwPB+gOK4TX/BfiHwzPs1LTJ41zhJox5kb/Rl/rg0Aez/\nAB80r7T4WsNTB+azudhGOqyDH81WvHfAWpyaR480W7Rwo+1JE5PTY52N+jV9HeO9P/tX4YapA0ZZ\nxZecoYchkAcfjxXycGKkOh5HzKR69RQB9wUVg3PiOK08DN4jSNrmJLEXYQNguNgbGe1cTonx28PX\n7iPU7a50xyQAzfvY/qWUZH5UAeqUVT03VtP1i0F1pt7BdwH+OGQMP06VakkSKNnkdURRksxwAPc0\nAOpruscbO7BVUEknsK5OL4i6He+KLbw/pUrajdysfMe35iiUAksX6HGAMDPWp/Heomz8OSwRnEt1\n+6GOy/xH8uPxoA8B8aag+veIr7UnztlfEYPaMcKPyH61w80G6cYFdnqcR3MAKyk08sc4pDKlpZ7s\ncVsQ6aWA+WpbC0w4Uiuz0vSPOUYWkBx66LLcTxwQxF5ZGCIo7sTgCvpPwxoMPhvw9aaXDg+Un7xw\nPvueWb8TXK+D/DCJq/2+ZPltx+7BH8ZHX8B/MV6DTQMKKKKYgpruka7nYKo7scCnV
meItKTXPDuo\naY5ZRcwNGCpwQSOCPxxQBp0V4t8NPiwWaPw/4pm8u5Q+VBeSnG4jjZIezZ4B79+evtNABRWRY+Jd\nK1HV9S0q3ulN5pzKtxG3GMgHI9RzgnsRWXrHxJ8JaJuW61q3eVTtMVufNcH6LnH40AdXRXkeofH7\nQ4Jgljpd9dpjmRisQ/AHJ/lXbeFvHvh/xdEP7OvALkDL2s3ySr+Hce4yKAOmooooAKKKKACiiigA\nooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArEtvC2mw+JLrxBJEJ9TnARZpAD5K\nAYCp6d8nqc1t0UAFFFFADJo1mheJxlXUqQfQjFfFeoWUmm6ndWMy7ZbaZ4WHurEf0r7Xr5X+Lekf\n2T8RtR2oyxXe26QkcHcPmx/wIGgD2f4aTQeIfhJa2LglVgksZgT6ZX+RBr531zwrrfhmYxatptxb\nKp2iVlzG30ccH869Y+AGugHVNBllOeLuBD0/uv8A+yGvbpYY54mjmjWSNhhldQQfwNAHxfper6jo\nl4LzTL2e0uB/HC+Mj0PYj2NafiLxt4h8VEDVtRklhGMQINkX12jgn3Oa9u8XfBTRtYV7nRCul3vX\nYozA591/h+o/KvBvEHhzVfDGpNYatatBL1RuqSL/AHlbuP8AJoA9e+AGhoLfVNdlhBcuLWBz1AAD\nPj6kr+Vdh4tX+0p2dHV4osxLtIIBB+bp3zx+FfP+geOPEHhywuNP07UZIbO4BDIFDFCerJn7rY71\n9H+Fbbw5f+EbSHw9cLNZRLt3FsvvPLeZ33knJz60MDya/wBIZpD8tNt9ELfw16vdeFGJJC5ph8Oi\nys5rqSMssMbSFR1bAJwPyqbMZ5zb6Gwkzs712mh6aIF82QYjjG5j7DrW7oem6fq+l2up2kiyW11G\nssZHPBHT6jp+FN8YXCaJ4P1KWAqrrDsVj3d/lGPzJ/KjbVlRTlJRXUX4f6+PEHh57krtljuJEYcD\nIzuU/wDfJUfhXV14l8INU+yeIrjTTnZeQ7l56MnPT3BP5V7bShLmjc2xdH2NZwWwUUUVZzBRRXB+\nPvifpvg2M2kAW91dlytsG+WLPRpD2Ht1Pt1oA8L+KOj/ANjfEPVYRkx3D/akJGOJOSPwO4fhWnoX\nxj8R6H4fbSwIbxkAW2uLklmhX0P98emTx71x+va/qPiXVpNS1SfzrlwF4XaqqOiqB0Aq54a8Ga74\nsn8v
SbJpI1OHuJPkiT6t/QZNAGTqGoXOqalc6hdyF7m5kaSVwMbmPXgfyquiM8ixRqWdjhUUZJ+g\nFfQXh34D6RaIkuvXkt/PkExQkxRD2/vN+Y+ld4bDw54H0K6vrfTrWytbWNpnMUY3HA9epJ6UAfM+\nmfDvxdq77bbQbxR133C+Sv5viuu0r4F+KZClxcX9lp0iNldsjPIvuCuAPzqaf4/687v9n0jTokJ+\nTzGdyo9+QCa9q8Iate654S03VNQgjgubqEStHHnaATwRnnkYP40AHhnSdV0fTVtdU1yXVpFAxLLC\nEYe2Qcn6nmtuiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi\niigAoooNABXhfxvk0zWL6xt7ObfqdluSYg/IqNg7Sf72Rn25zW/49+JYgEul6FON4ys96p4T1VD6\n/wC127V5ppmh6vrbE6dp11djdtaRE+QE+rHA/WsZ1He0T1MNgY8vtMQ7I5rRtSv/AAf4istVgA82\nB92AflkXoyn6g4/Wvqzw14m0zxVpEeoabOHRgBJGT88Td1Ydj/PtXzj438GeIfDtjBcahYoLRm5n\nhk8wI3QBuPlz+RrltH1zU/D98L3Sr2W0uBwWjPDD0YdGHsa0i21qcOIjTjUapO6PtCsfxL4Y0zxX\npL6dqkG+Incjrw8bdmU9jXiemfH3W7eJE1HSrO8KjBkjdoWY+pHI/LFbkP7Qlk0mJ/Dt0kfrHcqx\n/IgfzqjE868dfDnUvBMqzPIt5psj7EukXbtbqFcdjj8D+lZ/gzxjf+DNcS+tCZIHwtzbFsLMn9CO\nx7fTNe5+GfiP4e+IF1c+HbnTZIhcREiO7Kss/wDeUY6EDkewz2ryD4jfD258Fan5kO+bSLhj9nnP\nJQ/883Pr6HuPxoA+ltA16w8SaNBqmmzeZbzDvwyEdVYdiK5/xl8RPDnhlbjT7+5kkvjF/wAesEZZ\n8MDjJ+6PxNfP3gLxze+CdZE8e+bT5iBdWwPDj+8v+0O3r0r2D4j+CLXx7oUHiPw+Um1BYQ0ZjPF1\nF12/7w5x+IPsAebeBPive+C9Il0t7Bb+23l4Q0xQxE9RnByCeccc59ak8UfFu78UaZFYS6VDbRLO\nJnZJixYgEdx7/pWTp/wr8aai5VNElgA6tdOsQ/U5/StiP4G+MXYhhpyDGcm5J/ktJq6sVCbhJSju\njLsdYbQ7211eHaz2sizIpYgP/s5HqMj8a9IsP2gdKkwNQ0S8gPHMEiyj9dprjH+C3jdoVjK2DImS\nq/av/sawb74Z+M7B2WTw/dSAfxW+JQfptNTThyqx04zErETUkraHv+lfFjwZqvlqusJbSucCO7Qx\nEfUn5f1rsLe6gu4hLbzRzRno8bBh+Yr4ongmtpDHcQyQv0KyoVP5Grel61qmiSiTS9QubNshv3Mh\nUE+46H8RVnIfUvxE1LxBpnhSaXw3YyXN67BC0a7mhQ9XC/xHt7Zz2r5SuhdG+kS7E32xnPmLKD5h\ncnuDzk16hoPx31yx2R6zaQalEM5kT91L+nyn8hXoWk/FLwJrtzDNdNFZXqgMrX8AUofaTkfrQByP\ngH4KmZYtT8VIyocNHpwOCf8AroR0/wB0fj6V7fbWtvZW0dtawxwwRjakcahVUegA6Uyy1Cy
1GAT2\n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\nGqWV7FnhZswv/UfqK5ib4JeP4n2jQxIP7yXURH/oVAHn1FemWfwG8dXTAS2VraA/xT3SHH/fG412\n+hfs3Rq6ya9rhcDrDYx4z/wNv/iaAPAILea6nSC3hklmkO1I41LMx9ABya9p8B/AK+1B47/xWXsr\nX7wskP76T/eP8A9uv0r3Hw14H8O+Eotuj6XDBIRhpyN8rfVzz+HSuhoAqabpllpFhDY6faxW1rCu\n2OKJcBR/nvVuiigAooooAKqy6bYzzGaWzt5JT1d4lJP4kVaooApNo+mP97T7Q/WBf8KU6RppcubC\n13HqfJXP8quUUAVYtMsIJhNDZW8co6OkSgj8QKtUUUAFQW1na2SyLa28UCyOZHESBQznqxx1J9an\nooApX+j6ZqqhdQ0+1uwBgCeFXx9Miq1j4Y0HTZhNY6NYW8oORJFborD8cZrWooAKKKKAMq+8MaDq\ncplvtGsLmQ8l5bZGY/jjNS6foek6Tn+ztNs7QngmCFUJ+pArQooAKqy6bYzzGaWzt5JT1d4lJP4k\nVaooApNo+mN97T7Q/WBf8KuAADA6UtFAFSXS9PnlaWaxtpJG+8zwqSfqSKINMsLaUSwWVtFIOA6R\nKpH4gVbooAKrT6fZ3T77i0glbGMyRqx/UVZooAojRtLByNOtAf8Argn+FOXSdOWRZFsLUOpyrCFc\ng+ucVcooAKKKKAIIrO1guZrmK3ijnnx5sioA0mOm49Tj3qeiigBksMc8bRyoro3BVgCD+BrGm8Ge\nGJ33y+HtLZj1P2ROf0rcooAzrHQdH0xg1hpVlasP4obdUP5gVPNptjcTGaazt5JDwXeJSfzIq1RQ\nBSbR9Mf7+nWjfWBT/SmLoOkI6uulWKupyGFugIP5VoUUAFFFFABRRRQAUUUUAFFFFABTTRRQAopa\nKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo\noAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/9kKZW5kc3RyZWFtDQplbmRvYmoNNSAwIG9i\nag08PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDExOTY+PnN0cmVhbQ0KeJzNV0tzIjcQvlPl\n/9CHPbApLPTWKDcMeINjwMHyJq6tPcya8WNtYIO9tet/n5ZmNDPgwU44xTxqULf66/661WozoPhi\n4ftqAXDkoHvMgHFw18AkkeBOYegOWn+HNyvUpSJCSSHAUEuMVQI3BwWpgobUJClsHrS6x6v14q/V\nF8KvU5VlQit5NU9Uls7ZF8u5xlU7F4lVMFgdtP4I7xrWoUwQRhOrqY4w6CYrPefo5AKUlkRLj+rm\nwf9TjIQXkdDwWt9A+7I/6sBoeUXeg/saNKxXAPcLHGpBtLW5hbaUlMKfdw8PMFvdZOtHOEvX9z/S\n57DPq3NCqSmUp/cP6e1qkUL/7um5A9PfwQhGkwKD1TAU5cQqne/zxObxEp4IqRX8OGgtQXKimNUW\nw5aEcQ0+uoQkwppy6QHOt4mSHHSiiUwSHnh6KTW0kqIosrLNp6czcCdDFWjPJbOGSCuKeM96l+Ph\nxMFs2B+OzlyI00e3oVVFt+EGSSRoXvNzw41QfTTg8lrtxe0auH3DfRPdV5UVJpBRVjg/6Llh5XFN\n0uiwSogWfD9YzgmnTEXSpqej/iVMLsZHwxl0YdIbDwcwmpxfzIaD0qGNPY0ecSqIMPt5JBgeErmV\nxfHQ/TYdoEe4MJ2VntR1Gx0RMiFY5XumRBHFZeSmP50cj2bjnhtNJwVDVYrqms1FpTwj+ydJ0UhJ\nbzy9mLh6MkpZI7LGON7AFDlm0QRyzDY1Xcq6nEak10pPNHY9xEW7sdEV1qs+pyg95JRTbDiSlz2r\nfbJ6zL7dQv/7+unu8VXwosr2Au/fZlf3cAiKSWPsPuixtPZj11pqmbJCc86YeRUols5eQNjFLCt6\nefsd6xgsVUqr6qmJt8BP/NfXCDb7cNDi2NaVxd4YrgC8QqVv+2gCKwCfQ79fBu1ymW6u0ppeqfHC\nBjE00ZrlMIqHCsvVwmNlwvdyYYKseKxkAtu4T48XxudKKqUJnHppfP43rvlAhKrW8Tmsf4rccLwW\nsfHVf33GPfNdzOy4fZSV/+H2qVUBnnbryyBWU01UnNWd8uI47ZSXBb+h0FSoZp9miwHLONl8mPUm\nA3BT1zv9tWqyNY2qVjdiV6+HvktcRL5LHANXb8Qt/lfnM5Y1xl2VK286ANtntelwVDtfHo4o2zi3\ncSMXlSI+vwmfRwg+uJsWx5ES58kEzwIWiCZIhZIE962z1nXLYlb9oGZxNAWtCU7ZeBuKQioED2Jh\nidDgNyGzMpcdOaTtpuVzEWy46zKZzE+/GjSi4QzsFq1P7TMsPRWuqi6crDI4X9w93YLLHp/ef3Yn\n1YWAg5rFEVYGA2Fnv3+IbVvZblAcujwo6acFdIx6p3T4wSlJkg3fytrEsVp5f5TvC9HqC6Me3GNT\nEvqcD4oxbznnAilG+8rg7IsC/CAlTWiCqkBmLfqmkCOoxfkriRQbkRsnstl0oSzDv2zeMrN4C+If\n50JIqZSu25ZoFNk01PisMawETL7QZfK3rPsziC5w4zcF66Pl4/d1urzKoL9afEuXzzBJF9lGxopN\nzJTUnpEpgaPVTwTkQnaatNEhU1DTe8h+psv5+i7twMceJpFaG2P4BxbOANEKZW5kc3RyZWFtDQpl\nbmRvYmoNNiAwIG9iag08PC9UeXBlL1BhZ2VzL0NvdW50IDEvS2lkc1sxIDAgUl0+Pg1lbmRvYmoN\nNyAwIG9iag08PC9UeXBlL0NhdGFsb2cvUGFnZXMgNiAwIFIvTWV0YWRhdGEgOSAwIFI+Pg1lbmRv\nYmoNOCAwIG9iag08PC9Qcm9kdWNlcihSQUQgUERGIDMuMTUuMC4wIC0gaHR0cHM6Ly93d3cucmFk\ncGRmLmNvbSkvQXV0aG9yKFwoYW5vbnltb3VzXCkpL0NyZWF0b3IoUERGZXNjYXBlIE9ubGluZSAt\nIGh0dHBzOi8vd3d3LnBkZmVzY2FwZS5jb20pL1N1YmplY3QoXCh1bnNwZWNpZmllZFwpKS9UaXRs\nZShcKGFub255bW91c1wpKS9DcmVhdGlvbkRhdGUoRDoyMDIwMDcwMTExNDYyMSswNicwMCcpL01v\nZERhdGUoRDoyMDIwMDgwNDE0MTkyNVopPj4NZW5kb2JqDTkgMCBvYmoNPDwvVHlwZS9NZXRhZGF0\nYS9TdWJ0eXBlL1hNTC9MZW5ndGggMTI2MD4+c3RyZWFtDQo8P3hwYWNrZXQgYmVnaW49Iu+7vyIg\naWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2Jl\nOm5zOm1ldGEvIiB4OnhtcHRrPSJEeW5hUERGIDQuMC40MC4xMTYsIGh0dHA6Ly93d3cuZHluYWZv\ncm1zLmNvbSI+CjxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8y\nMi1yZGYtc3ludGF4LW5zIyI+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCgl4bWxuczpw\nZGY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8iCgl4bWxuczpkYz0iaHR0cDovL3B1cmwu\nb3JnL2RjL2VsZW1lbnRzLzEuMS8iCgl4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFw\nLzEuMC8iCgl4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyI+Cjxw\nZGY6UHJvZHVjZXI+UkFEIFBERiAzLjE1LjAuMCAtIGh0dHBzOi8vd3d3LnJhZHBkZi5jb208L3Bk\nZjpQcm9kdWNlcj4KPHhtcDpDcmVhdGVEYXRlPjIwMjAtMDctMDFUMTE6NDY6MjErMDY6MDA8L3ht\ncDpDcmVhdGVEYXRlPgo8eG1wOkNyZWF0b3JUb29sPlBERmVzY2FwZSBPbmxpbmUgLSBodHRwczov\nL3d3dy5wZGZlc2NhcGUuY29tPC94bXA6Q3JlYXRvclRvb2w+Cjx4bXA6TWV0YWRhdGFEYXRlPjIw\nMjAtMDgtMDRUMTQ6MTk6MjVaPC94bXA6TWV0YWRhdGFEYXRlPgo8eG1wOk1vZGlmeURhdGU+MjAy\nMC0wOC0wNFQxNDoxOToyNVo8L3htcDpNb2RpZnlEYXRlPgo8ZGM6Y3JlYXRvcj48cmRmOlNlcT48\ncmRmOmxpIHhtbDpsYW5nPSJ4LWRlZmF1bHQiPihhbm9ueW1vdXMpPC9yZGY6bGk+PC9yZGY6U2Vx\nPjwvZGM6Y3JlYXRvcj4KPGRjOmRlc2NyaXB0aW9uPjxyZGY6QWx0PjxyZGY6bGkgeG1sOmxhbmc9\nIngtZGVmYXVsdCI+KHVuc3BlY2lmaWVkKTwvcmRmOmxpPjwvcmRmOkFsdD48L2RjOmRlc2NyaXB0\naW9uPgo8ZGM6dGl0bGU+PHJkZjpBbHQ+PHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij4oYW5v\nbnltb3VzKTwvcmRmOmxpPjwvcmRmOkFsdD48L2RjOnRpdGxlPgo8eG1wTU06RG9jdW1lbnRJRD51\ndWlkOmMwYTQ2MWI3LWY1NWQtMzQ1ZS1iYTE4LTI1ZTk1ZDMzYjlmZTwveG1wTU06RG9jdW1lbnRJ\nRD4KPHhtcE1NOlZlcnNpb25JRD4xPC94bXBNTTpWZXJzaW9uSUQ+Cjx4bXBNTTpSZW5kaXRpb25D\nbGFzcz5kZWZhdWx0PC94bXBNTTpSZW5kaXRpb25DbGFzcz4KPC9yZGY6RGVzY3JpcHRpb24+Cjwv\ncmRmOlJERj4KPC94OnhtcG1ldGE+Cjw/eHBhY2tldCBlbmQ9InciPz4KZW5kc3RyZWFtDQplbmRv\nYmoNeHJlZg0wIDEwDTAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMDAxNiAwMDAwMCBuDQowMDAw\nMDAwMjQ2IDAwMDAwIG4NCjAwMDAwMDAzMzQgMDAwMDAgbg0KMDAwMDAwMDQyNyAwMDAwMCBuDQow\nMDAwMDIzODIwIDAwMDAwIG4NCjAwMDAwMjUwODYgMDAwMDAgbg0KMDAwMDAyNTEzNyAwMDAwMCBu\nDQowMDAwMDI1MTk3IDAwMDAwIG4NCjAwMDAwMjU0NTYgMDAwMDAgbg0KdHJhaWxlcg08PC9TaXpl\nIDEwL1Jvb3QgNyAwIFIvSW5mbyA4IDAgUi9JRFs8REUwQTkzMkJDMjBDOUUyOUYzNkNGOUNBQkUy\nMTgxN0E+PERFMEE5MzJCQzIwQzlFMjlGMzZDRjlDQUJFMjE4MTdBPl0+Pg1zdGFydHhyZWYNMjY3\nOTMNJSVFT0Y="} 

You can pass the Base64 encoded data above to a free converter like Base64 Guru (https://base64.guru/converter/decode/pdf) to decode it and preview the PDF.

You have successfully added and processed payments in BriteCore.