Calculate Order Refund

Calculate Order Refund

In this article

Overview

You can use this Snap to generate refund transactions for an order.

Prerequisites

None.

Support for Ultra Pipelines

Works in Ultra Pipelines

Limitations

  • API versions: Shopify releases new API versions every quarter. Each stable version is supported only for a minimum of 12 months. Part of a Shopify API is deprecated if it becomes unnecessary, unsafe, or outdated. The API’s are marked as deprecated when they are removed in a newer version of the API. The deprecation is then retroactively applied to previous stable versions of the API.

  • API Rate Limit: All Shopify APIs are rate-limited. Shopify uses various strategies to enforce rate limits, such as Calculated query cost, Request-based limit, and Time-based limit. 
    Shopify Snap Pack uses admin APIs, which are applicable for Request-based limit. If the APIs cross the rate limit, the Snap fails.

Shopify Behavior

  • Order discount is applied for invalid discount codes also. The discount percentage or amount is allotted more than percentage/amount set for valid discount code. For example, summer20 is a valid discount code, which should apply 20% of discount. However, if we provide discount percentage as 50%, then it applies 50% discount ignoring the set discount percentage.

  • If you provide an invalid value for Transaction ID or Parent ID, the Snap is not validated. The Snap ignores the invalid values and processes the operation.

Known Issues

None.

Snap Input and Output

Input/Output

Type of View

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input/Output

Type of View

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

 

  • Min:1

  • Max:1

  • Mapper

  • Copy

The order details, such as time of order creation, order ID, order note, amount, and currency code.

Output

Document

 

  • Min:1

  • Max:1

  • Mapper

  • Get Order

  • Order Refund

  • Group By N

Retrieves a specific refund.

Snap Settings

Field Name

Field Dependency

Description

Field Name

Field Dependency

Description

Label*

N/A

Specify the name for the Snap. You can modify the default name to be specific and meaningful, especially if you have more than one of the same Snap in your Pipeline.

Default Value: Calculate Order Refund
Example: Ord_354

Version*

N/A

Specify the Shopify API version. Alternatively, click the Suggestion 

 icon to fetch the list of supported Shopify API versions and select a version. 

Default Value: 2021-07
Example: 2021-04

Order Id*

N/A

Specify a unique identifier for the order.

Default Value: N/A
Example: Ord_254

Number Of Retries

N/A

Specify an integer value to set the maximum number of reconnection attempts that the Snap must perform, in case of connection failure or timeout.

Default Value: 1
Example: 2

Retry Interval (Seconds)

N/A

Specify the duration in seconds for which the Snap must wait between two reconnection attempts, until the number of retries is reached.

Default Value: 1
Example: 5

Snap Execution

N/A

Select one of the three modes in which the Snap executes. Available options are:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.

  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.

  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Default Value: Execute only
Example: Validate & Execute

Example

Calculating Refund For An Order

This example Pipeline demonstrates how to calculate refund for an order and subsequently create an Order Refund using the Calculate Order Refund and Create Order Refund Snaps.

First, we pass the following customer and order data using the JSON Generator Snap.

Upon validation, we see the following data in the output preview of the Snap.

Next, we configure the Create Order Snap to create an order. On validation, the Snap creates an order.

Create Order Snap Configuration

Output

Create Order Snap Configuration

Output