Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion content/_snippets/_view-google-analytics.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ import { Callout } from 'fumadocs-ui/components/callout';

<Callout type="idea">
To see a full example of the features available with App Snippets, Assets, and Settings, take a look at the Google Analytics 4 app on Github.
<a href="https://github.com/NextCommerceCo/google-analytics-4">View Google Analytics App on Github</a>
<a href="https://github.com/NextCommerceCo/google-analytics-4">View Google Analytics App on GitHub</a>
</Callout>
2 changes: 1 addition & 1 deletion content/_snippets/_view-google-tag-manager.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ import { Callout } from 'fumadocs-ui/components/callout';

<Callout type="idea">
To see a full example of the features available with App Snippets, Assets, and Settings, take a look at the Google Tag Manager app on Github.
<a href="https://github.com/NextCommerceCo/google-tag-manager">View Google Tag Manager App on Github</a>
<a href="https://github.com/NextCommerceCo/google-tag-manager">View Google Tag Manager App on GitHub</a>
</Callout>
2 changes: 1 addition & 1 deletion content/_snippets/_view-intro-theme.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Callout } from 'fumadocs-ui/components/callout';

<Callout type="info">
[Spark](https://github.com/NextCommerceCo/spark) is the recommended starter theme for the 29 Next platform, built with Tailwind CSS and available on Github as a starting point and guide for store themeing.
[Spark](https://github.com/NextCommerceCo/spark) is the recommended starter theme for the Next Commerce platform, built with Tailwind CSS and available on GitHub as a starting point and guide for store theming.
</Callout>
22 changes: 11 additions & 11 deletions content/docs/admin-api/guides/order-management.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { Callout } from 'fumadocs-ui/components/callout';
import MoveFulfillmentOrders from '../../../_snippets/_moving-fulfillment-orders.mdx';
import SplitFulfillmentOrders from '../../../_snippets/_splitting-fulfillment-orders.mdx';

Order management operations can be automated through the Admin API for more efficient operations and bulk actions on large quanities of orders.
Order management operations can be automated through the Admin API for more efficient operations and bulk actions on large quantities of orders.

Below are best practices and guides for common scenarios merchants and partners use to manage orders on the Admin API.

Expand Down Expand Up @@ -108,17 +108,17 @@ Below is an example POST request to the [ordersLinesCreate](/docs/admin-api/refe

#### Collect Payment for Outstanding Balance

Orders can have an outstanding balance owed by the customer as a result of changing items on the order. To collect the outstanding balance, use the [ordersCollectPaymentCreate](/docs/admin-api/reference/orders/ordersCollectPaymentCreate) endpoint to initate a payment transaction with the order's initial payment method.
Orders can have an outstanding balance owed by the customer as a result of changing items on the order. To collect the outstanding balance, use the [ordersCollectPaymentCreate](/docs/admin-api/reference/orders/ordersCollectPaymentCreate) endpoint to initiate a payment transaction with the order's initial payment method.

```json title="Collect Payment for Outstanding Balance" http-method="POST" http-target="https://{store}.29next.store/api/admin/orders/{number}/collect-payment/"
{
"send_payment_notification": true // optionally send notificaiton to customer
"send_payment_notification": true // optionally send notification to customer
}
```

### Order Refunds

Order management actions that require refunding and removing items from an order can be done through the refund flow. The refund flow is espcially useful when creating partial refunds or creating refunds for items that have already shipped to the customer.
Order management actions that require refunding and removing items from an order can be done through the refund flow. The refund flow is especially useful when creating partial refunds or creating refunds for items that have already shipped to the customer.

#### Refund Flow
```mermaid
Expand All @@ -132,7 +132,7 @@ stateDiagram-v2
```

Refunding specific items of an order is a 3-step process:
1. Retreive order line items using the [ordersRetrieve](/docs/admin-api/reference/orders/ordersRetrieve) endpoint.
1. Retrieve order line items using the [ordersRetrieve](/docs/admin-api/reference/orders/ordersRetrieve) endpoint.
2. Calculate the refund using the [ordersRefundCalculateCreate](/docs/admin-api/reference/orders/ordersRefundCalculateCreate) endpoint.
3. Create the refund using the [ordersRefundCreate](/docs/admin-api/reference/orders/ordersRefundCreate) endpoint.

Expand All @@ -142,7 +142,7 @@ Order Refund Calculate APIs are only available on `2024-04-01` version and newer
</Callout>
#### Retrieve Order Lines

Below is an abreviated example request to [ordersRetrieve](/docs/admin-api/reference/orders/ordersRetrieve) endpoint to get the line items of the order.
Below is an abbreviated example request to [ordersRetrieve](/docs/admin-api/reference/orders/ordersRetrieve) endpoint to get the line items of the order.

```json title="Retrieve Order Details" http-method="GET" http-target="https://{store}.29next.store/api/admin/orders/{number}/"
{
Expand Down Expand Up @@ -196,7 +196,7 @@ Below is the response from the [ordersRefundCalculateCreate](/docs/admin-api/ref
"amount_incl_tax": "3.99", // amount to be refunded incl tax
"amount_excl_tax": "3.99", // amount to be refunded excl tax
"total_tax": "0.00", // shipping tax to be refunded
"refundable_amount": "4.99" // shipping amount avialable to refund
"refundable_amount": "4.99" // shipping amount available to refund
},
"transactions": [
{
Expand All @@ -205,7 +205,7 @@ Below is the response from the [ordersRefundCalculateCreate](/docs/admin-api/ref
"refundable_amount": "184.96" // amount available to refund with this transaction
}
],
"amount_excl_tax": "63.98", // total amoutn excl tax being refunded
"amount_excl_tax": "63.98", // total amount excl tax being refunded
"amount_incl_tax": "63.98", // total amount incl to be refunded
"total_tax": "0.00", // total tax being refunded
"currency": "USD"
Expand Down Expand Up @@ -257,11 +257,11 @@ Unfulfilled items always restock as `cancel`, so any refund of unshipped items n
</Callout>

<Callout type="info" title="Restock Actions">
Depending on the product type and status of the line items being refunded, there are differen't restock actions available.
Depending on the product type and status of the line items being refunded, there are different restock actions available.

**Physical Product**
- If unfulfilled, restock_type must be `cancel`.
- If fullfilled, restock_type can be `return` or `no_restock`.
- If fulfilled, restock_type can be `return` or `no_restock`.

**Digital Product**
- If unfulfilled, restock_type must be `cancel`.
Expand Down Expand Up @@ -382,7 +382,7 @@ Canceling an order is a common order management task when you need to cancel the

```json title="Cancel Order Request" http-method="POST" http-target="https://{store}.29next.store/api/admin/orders/{number}/cancel/"
{
"cancel_reason": "Customer wants to cancel", // Appropiate cancel reason message
"cancel_reason": "Customer wants to cancel", // Appropriate cancel reason message
"full_refund": true, // Refund all remaining payments or not
"send_cancel_notification": true // Send the customer a notification or not
}
Expand Down
2 changes: 1 addition & 1 deletion content/docs/admin-api/guides/payment-methods/bankcard.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ Group membership, distribution weighting, and soft-decline retries are configure
Tokenize cards in our iFrame payment form before you send them to the Admin API. Your checkout never handles raw card data, which keeps it out of PCI scope.

<Callout type="info">
Try the [Demo](https://nextcommerceco.github.io/demo-iframe-payment-form/). The source is on [Github](https://github.com/NextCommerceCo/demo-iframe-payment-form/blob/main/index.html).
Try the [Demo](https://nextcommerceco.github.io/demo-iframe-payment-form/). The source is on [GitHub](https://github.com/NextCommerceCo/demo-iframe-payment-form/blob/main/index.html).
</Callout>

`payment.js` is a script hosted by Next Commerce. It exposes the `NextPayment` class, which mounts the card number and security code fields in iFrames, validates them, and returns a token. You can style the fields to match the rest of your form.
Expand Down
8 changes: 4 additions & 4 deletions content/docs/admin-api/guides/payment-methods/paypal.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ When creating a new order using PayPal using the orders_create API method, you m
<Callout type="idea">
You can optionally provide a `paypal_account` when creating the order to use a PayPal account other than the store default PayPal account.
</Callout>
### Redirect Customer to Paypal
### Redirect Customer to PayPal
The response when creating the order will provide a `payment_complete_url`. Your application should redirect the customer to this URL for completing the payment on PayPal.

```json title="Response with Payment Complete URL"
Expand All @@ -58,9 +58,9 @@ import RedirectPaymentStep3 from '../../../../_snippets/_redirect-payment-flows-

### Upsells

Paypal supports one-click upsells through the [ordersAddLineItemsCreate](/docs/admin-api/reference/orders/ordersAddLineItemsCreate) API, enabling additional items to be added to the order with a payment transaction.
PayPal supports one-click upsells through the [ordersAddLineItemsCreate](/docs/admin-api/reference/orders/ordersAddLineItemsCreate) API, enabling additional items to be added to the order with a payment transaction.

<Callout type="info">
To process upsells, the Paypal account must have [Reference Transactions](https://developer.paypal.com/api/nvp-soap/do-reference-transaction-soap/) enabled and configured on the store.
To process upsells, the PayPal account must have [Reference Transactions](https://developer.paypal.com/api/nvp-soap/do-reference-transaction-soap/) enabled and configured on the store.
</Callout>
If the store Paypal account has reference transactions enabled, the [ordersCreate](/docs/admin-api/reference/orders/ordersCreate) API response will include `supports_post_purchase_upsells: true`, signaling you can process one-click upsell transactions.
If the store PayPal account has reference transactions enabled, the [ordersCreate](/docs/admin-api/reference/orders/ordersCreate) API response will include `supports_post_purchase_upsells: true`, signaling you can process one-click upsell transactions.
12 changes: 6 additions & 6 deletions content/docs/admin-api/guides/subscription-management.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Subscription management actions most often times will only affect future renewal
</Callout>
### Create Subscription

Subscriptions can be created directly through the [subscriptionsCreate](/docs/admin-api/reference/subscriptions/subscriptionsCreate) Admin API endpoint for scenarios such as custom order flows or importing subcriptions from another platform.
Subscriptions can be created directly through the [subscriptionsCreate](/docs/admin-api/reference/subscriptions/subscriptionsCreate) Admin API endpoint for scenarios such as custom order flows or importing subscriptions from another platform.

```json title="Create Subscription" http-method="POST" http-target="https://{store}.29next.store/api/admin/subscriptions/"
{
Expand Down Expand Up @@ -52,7 +52,7 @@ Updating subscription recurring items and pricing can be done through [subscript

**Adding an Additional Product**

To add a new product to a subscription, use the [subscriptionLinesCreate](/docs/admin-api/reference/subscriptions/subscriptionsLinesCreate) Admin API endpoint with the product, price, and quanity details.
To add a new product to a subscription, use the [subscriptionLinesCreate](/docs/admin-api/reference/subscriptions/subscriptionsLinesCreate) Admin API endpoint with the product, price, and quantity details.

```json title="Adding an Additional Product" http-method="POST" http-target="https://{store}.29next.store/api/admin/subscriptions/{id}/lines/"
{
Expand All @@ -64,7 +64,7 @@ To add a new product to a subscription, use the [subscriptionLinesCreate](/docs/

**Updating an Existing Line Item Product Price**

To update and existing product price and quantity on a subscription line, use the [subscriptionsLinesUpdate](/docs/admin-api/reference/subscriptions/subscriptionsLinesUpdate) Admin API endpoint with the new price, and new quanity details.
To update and existing product price and quantity on a subscription line, use the [subscriptionsLinesUpdate](/docs/admin-api/reference/subscriptions/subscriptionsLinesUpdate) Admin API endpoint with the new price, and new quantity details.

```json title="Updating an Existing Product" http-method="PUT" http-target="https://{store}.29next.store/api/admin/subscriptions/{id}/lines/{lineId}/"
{
Expand All @@ -86,7 +86,7 @@ Subscriptions must have at least one line item with a product, you can alternati
</Callout>
### Updating Renewal Schedule

Changing the renewal schedule of a subscription can be achived with a PATCH request to the [subscriptionsPartialUpdate](/docs/admin-api/reference/subscriptions/subscriptionsPartialUpdate) endpoint with a new `interval` and `interval_count`, ie 30 days.
Changing the renewal schedule of a subscription can be achieved with a PATCH request to the [subscriptionsPartialUpdate](/docs/admin-api/reference/subscriptions/subscriptionsPartialUpdate) endpoint with a new `interval` and `interval_count`, ie 30 days.

```json title="Update Subscription Renewal Schedule" http-method="PATCH" http-target="https://{store}.29next.store/api/admin/subscriptions/{id}/"
{
Expand Down Expand Up @@ -170,7 +170,7 @@ To change the bankcard on a subscription, pass a new `card_token` with a PATCH r
<Callout type="info">
To update a bankcard on a subscription, you must use the **[iFrame to tokenize](/docs/admin-api/guides/payment-methods/bankcard)** the bankcard and use the `card_token` when updating the subscription itself.

The new bankcard will be automatically verfied with a `verify` request to a payment gateway to ensure the new bankcard is valid and can be used for future renewals. If the bankcard cannot be verified, the update request will fail and return an error.
The new bankcard will be automatically verified with a `verify` request to a payment gateway to ensure the new bankcard is valid and can be used for future renewals. If the bankcard cannot be verified, the update request will fail and return an error.
</Callout>
**New Bankcard Payment Method Flow**
```mermaid
Expand Down Expand Up @@ -205,7 +205,7 @@ stateDiagram-v2

### Retrying Renewal

Subscriptions that are `past_due` status can be attemted to retry the renewal, often combined with a new `payment_gateway`, by using the [subscriptionsRetryCreate](/docs/admin-api/reference/subscriptions/subscriptionsRetryCreate) endpoint.
Subscriptions that are `past_due` status can be attempted to retry the renewal, often combined with a new `payment_gateway`, by using the [subscriptionsRetryCreate](/docs/admin-api/reference/subscriptions/subscriptionsRetryCreate) endpoint.

```json title="Retry Subscription Renewal" http-method="POST" http-target="https://{store}.29next.store/api/admin/subscriptions/{id}/retry/"
{
Expand Down
6 changes: 3 additions & 3 deletions content/docs/apps/app-kit.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ import { Callout } from 'fumadocs-ui/components/callout';
App Kit is a command line tool for developers to build and maintain apps that extend storefront themes with [Event Trackers](/docs/apps/event-tracking).

<Callout type="warn" title="Not Required for Server to Server Apps">
App Kit is only required for Apps that extend to the storefront with App Snippets, [Server to Server Apps](/docs/apps/guides/server-to-server-apps) do not need to use App Kit to complete the Oauth Flow for your App to access the Admin API.
App Kit is only required for Apps that extend to the storefront with App Snippets, [Server to Server Apps](/docs/apps/guides/server-to-server-apps) do not need to use App Kit to complete the OAuth Flow for your App to access the Admin API.
</Callout>
<Callout type="info">
[See Full Instructions on Github](https://github.com/NextCommerceCo/app-kit) or [Install App Kit from PyPi](https://pypi.org/project/next-app-kit/)
[See Full Instructions on GitHub](https://github.com/NextCommerceCo/app-kit) or [Install App Kit from PyPI](https://pypi.org/project/next-app-kit/)
</Callout>
## Installation

App Kit is a python package available on [PyPi](https://pypi.org/project/next-app-kit/)
App Kit is a python package available on [PyPI](https://pypi.org/project/next-app-kit/)

If you already have `python` and `pip`, install with the following command:

Expand Down
4 changes: 2 additions & 2 deletions content/docs/apps/guides/dispute-service.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { Tab, Tabs } from 'fumadocs-ui/components/tabs';
Dispute service apps are integrations that manage the processing of payment disputes (alerts and chargebacks) on behalf of merchants seamlessly within the platform.

<Callout type="info">
Dispute Service Apps are [Server to Server Apps](/docs/apps/guides/server-to-server-apps) that use the Oauth flow to obtain API Access and then use the [Admin APIs](/docs/admin-api) and [Webhooks](/docs/webhooks) to subscribe to store event activity.
Dispute Service Apps are [Server to Server Apps](/docs/apps/guides/server-to-server-apps) that use the OAuth flow to obtain API Access and then use the [Admin APIs](/docs/admin-api) and [Webhooks](/docs/webhooks) to subscribe to store event activity.
</Callout>
## Disputes

Expand Down Expand Up @@ -114,7 +114,7 @@ To create a dispute in the store using the [disputesCreate](/docs/admin-api/refe
"arn": "string", // optional
"case_number": "string", // optional
"happened_at": "2019-08-24T14:15:22Z", // date when dispute occurred
"amount": "string", // dispute amount, sometimes doesnt match transaction amount
"amount": "string", // dispute amount, sometimes doesn't match transaction amount
"currency": "USD", // dispute currency
}
```
Expand Down
2 changes: 1 addition & 1 deletion content/docs/apps/guides/fulfillment-service.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ When new orders are created, the fulfillment orders are assigned to the location
The location `callback` is a URL the store will send `Fulfillment Request` webhooks to notify them of a new fulfillment assigned. Fulfillment Services need to query their [Assigned Fulfillment Orders](#assigned-fulfillment-orders) to retrieve the fulfillment order details.

<Callout type="warn">
Fulfullment Requests are sent to the location `callback` + `/fulfillment-order-notification/`.
Fulfillment Requests are sent to the location `callback` + `/fulfillment-order-notification/`.
</Callout>
**Fulfillment assignment request types are:**

Expand Down
Loading
Loading