expresspayments
Version:
ExpressPayments API wrapper
118 lines (101 loc) • 5.55 kB
TypeScript
// File generated from our OpenAPI spec
declare module 'expresspayments' {
namespace ExpressPayments {
/**
* Events are our way of letting you know when something interesting happens in
* your account. When an interesting event occurs, we create a new `Event`
* object. For example, when a charge succeeds, we create a `charge.succeeded`
* event; and when an invoice payment attempt fails, we create an
* `invoice.payment_failed` event. Note that many API requests may cause multiple
* events to be created. For example, if you create a new subscription for a
* customer, you will receive both a `customer.subscription.created` event and a
* `charge.succeeded` event.
*
* Events occur when the state of another API resource changes. The state of that
* resource at the time of the change is embedded in the event's data field. For
* example, a `charge.succeeded` event will contain a charge, and an
* `invoice.payment_failed` event will contain an invoice.
*
* As with other API resources, you can use endpoints to retrieve an
* [individual event](https://docs.epayments.network/api#retrieve_event) or a [list of events](https://docs.epayments.network/api#list_events)
* from the API. We also have a separate
* [webhooks](http://en.wikipedia.org/wiki/Webhook) system for sending the
* `Event` objects directly to an endpoint on your server. Webhooks are managed
* in your
* [account settings](https://dashboard.epayments.network/account/webhooks),
* and our [Using Webhooks](https://docs.epayments.network/webhooks) guide will help you get set up.
*
* When using [Connect](https://docs.epayments.network/connect), you can also receive notifications of
* events that occur in connected accounts. For these events, there will be an
* additional `account` attribute in the received `Event` object.
*
* **NOTE:** Right now, access to events through the [Retrieve Event API](https://docs.epayments.network/api#retrieve_event) is
* guaranteed only for 30 days.
*/
interface Event {
/**
* Unique identifier for the object.
*/
id: string;
/**
* String representing the object's type. Objects of the same type share the same value.
*/
object: 'event';
/**
* The connected account that originated the event.
*/
account?: string;
/**
* The ExpressPayments API version used to render `data`. *Note: This property is populated only for events on or after October 31, 2014*.
*/
api_version: string | null;
/**
* Time at which the object was created. Measured in seconds since the Unix epoch.
*/
created: number;
data: Event.Data;
/**
* Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
*/
livemode: boolean;
/**
* Number of webhooks that have yet to be successfully delivered (i.e., to return a 20x response) to the URLs you've specified.
*/
pending_webhooks: number;
/**
* Information on the API request that instigated the event.
*/
request: Event.Request | null;
/**
* Description of the event (e.g., `invoice.created` or `charge.refunded`).
*/
type: string;
}
namespace Event {
interface Data {
/**
* Object containing the API resource relevant to the event. For example, an `invoice.created` event will have a full [invoice object](https://docs.epayments.network/api#invoice_object) as the value of the object key.
*/
object: Data.Object;
/**
* Object containing the names of the updated attributes and their values prior to the event (only included in events of type `*.updated`). If an array attribute has any updated elements, this object contains the entire array. In ExpressPayments API versions 2022-12-31 or earlier, an updated array attribute in this object includes only the updated array elements.
*/
previous_attributes?: Data.PreviousAttributes;
}
namespace Data {
interface Object {}
interface PreviousAttributes {}
}
interface Request {
/**
* ID of the API request that caused the event. If null, the event was automatic (e.g., ExpressPayments' automatic subscription handling). Request logs are available in the [dashboard](https://dashboard.epayments.network/logs), but currently not in the API.
*/
id: string | null;
/**
* The idempotency key transmitted during the request, if any. *Note: This property is populated only for events on or after May 23, 2017*.
*/
idempotency_key: string | null;
}
}
}
}