Tax classification on products and checkout items

tax_category (good or service, default good) is now part of the Product schema and is accepted by POST /products, PATCH /products/{id} and the inline items of POST /checkouts. Inline items carry their own classification; items sent with product_id or price_id use the product’s. Each line keeps its own classification on a mixed tax invoice.

Account tax details are read from the tax registration document

tax_id and tax_name in GET /account, GET /connected_accounts and GET /connected_accounts/{id} now return the NIT and legal name extracted from the tax registration document (RTU) submitted during verification. When that document has no value, the tax details previously stored on the account are returned instead. No request change is required.

Connected account document resubmissions are processed

POST /connected_accounts sent with the platform key and the email of an existing connected account now reprocesses the documents in verification and replaces them on that account. Documents you omit are kept, and a request with no documents leaves the account’s verification untouched. A rejected resubmission now emits verification.rejected with document_errors; before, only first submissions did.

API keys resolve only their own environment

A sk_test_ key now lists and resolves only test objects (live_mode: false), and a sk_live_ key only real ones. An ID from the other environment returns 404, or 401 on /customers. A customer becomes live with its first real payment and stops resolving with the test key.