[New Partner Beta] Selling in Multiple Currencies with Shopify Payments: What this Means for App Developers

Excursionist
14 0 2

Hi David,

   Thanks for the response!  I was actually thinking about how the changes would work when making POST calls for something like transactions through the Order API.  To keep the complexity low in our app, we POST Order data with things like Transactions and Tax Lines through the Order API, not through the individual APIs.  I know these changes will directly affect calls made to the Transaction API, etc but what about using the transactions, etc when making calls via the Order API? 

Let me try and give an example:

Let's say we are POSTing an Order that has a Transaction amount, tax information as well as discounts and shipping.  The API call would look something like this.

{
    "email": "test@example.com",
    "total_tax": "15.00",
    "tax_lines": [{
        "price": "15.00",
        "title": "State Tax"
    }],
    "line_items": [{
        "sku": "1009-1001",
        "price": "50.00",
        "title": "Goblet of Fire",
        "quantity": 2,
        "fulfillment_status": "fulfilled"
    }],
    "discount_codes": [{
        "code": "",
        "amount": "5.00"
    }],
    "shipping_lines": [{
        "price": "7.0",
        "title": "USPS (Priority Mail)"
    }],
    "transactions": [{
        "amount": "145.00"
    }]
}

Area all of these attributes (transactions, tax_lines, shipping_lines, discount_codes) unaffected with the Order API as mentioned in the original post?

Thanks again for your help David and let me know if you need me to explain anything else.

EZ Inventory | EZ Exporter | Slacky | EZ Importer | https://apps.shopify.com/partners/highview-apps
0 Likes
Excursionist
14 0 2

Hi David,

   Thanks for the response!  I was actually thinking about how the changes would work when making POST calls for something like transactions through the Order API.  To keep the complexity low in our app, we POST Order data with things like Transactions and Tax Lines through the Order API, not through the individual APIs.  I know these changes will directly affect calls made to the Transaction API, etc but what about using the transactions, etc when making calls via the Order API? 

Let me try and give an example:

Let's say we are POSTing an Order that has a Transaction amount, tax information as well as discounts and shipping.  The API call would look something like this.

{
    "email": "test@example.com",
    "total_tax": "15.00",
    "tax_lines": [{
        "price": "15.00",
        "title": "State Tax"
    }],
    "line_items": [{
        "sku": "1009-1001",
        "price": "50.00",
        "title": "Goblet of Fire",
        "quantity": 2,
        "fulfillment_status": "fulfilled"
    }],
    "discount_codes": [{
        "code": "",
        "amount": "5.00"
    }],
    "shipping_lines": [{
        "price": "7.0",
        "title": "USPS (Priority Mail)"
    }],
    "transactions": [{
        "amount": "145.00"
    }]
}

Area all of these attributes (transactions, tax_lines, shipping_lines, discount_codes) unaffected with the Order API as mentioned in the original post?

Thanks again for your help David and let me know if you need me to explain anything else.

EZ Inventory | EZ Exporter | Slacky | EZ Importer | https://apps.shopify.com/partners/highview-apps
0 Likes
Shopify Staff
Shopify Staff
12 0 0

Clement and Zapfor Solutions,

The refund resource will now provide you with a price_set for every line_item so you'll be able to choose which value you are most interested in. We're going to get the migration guide updated as well.

0 Likes
Excursionist
14 0 2

Hi David,

   Thanks for getting back so quickly.  

   I think what I'm looking for is a little different.  I realize the API is changing for the refunds and transactions but I was wondering if this is true also when POSTing these attributes with Orders API.  For on of our apps, we post transactions, taxe_lines, discounts and shipping_lines with the Order API to ensure we don't run into N+1 problems.  I was wondering if the API changes will have an affect on the Order API in this way.  

Below is an example API call we would make with the above attributes.  Can you verify that making this call will still work without the new pricing changes.

{
	"name": "9000201",
	"tax_lines": [{
		"price": "$10.00",
		"title": "State Tax"
	}],
	"total_tax": "15.00",
	"line_items": [{
		"sku": "1009-1001",
		"price": "50.00",
		"title": "Goblet of Fire",
		"quantity": 2,
		"fulfillment_status": "fulfilled"
	}, {
		"sku": "1009-3001",
		"price": "25.00",
		"title": "Golden Snitch",
		"quantity": 1,
		"fulfillment_status": "fulfilled"
	}],
	"send_receipt": false,
	"transactions": [{
		"amount": "145.00"
	}],
	"shipping_lines": [{
		"price": "5",
		"title": "Fedex Ground"
	}],
	"billing_address": {
		"zip": "2215",
		"city": "Boston",
		"country": "US",
		"address1": "4 Yawkey Way",
		"province": "MA",
		"last_name": "Dent"
	},
	"shipping_address": {
		"zip": "2215",
		"city": "Boston",
		"name": "Led Dent",
		"country": "US",
		"address1": "4 Yawkey Way",
		"province": "MA"
	}
}

As you can see we are not providing the new currency fields with the other Order attributes.  Let me know if you need any more clarification.

Thanks for all your help!

Ralph

EZ Inventory | EZ Exporter | Slacky | EZ Importer | https://apps.shopify.com/partners/highview-apps
0 Likes
Shopify Staff
Shopify Staff
12 0 0

Ralph,

Considering it looks like you're importing an entire order (including its transactions) you should be fine. The updates to transactions really just impact multi-currency orders that were created through the online store that have applications that want to interact with those transactions.

0 Likes
Shopify Partner
76 1 11

Hi David,

The refund resource will now provide you with a price_set for every line_item so you'll be able to choose which value you are most interested in. We're going to get the migration guide updated as well.

Thanks, that's great!

What about the order_adjustments node (under refunds), will it have a price_set for every order_adjustment?

 

 

SimplyCost - Add costs and track profit (https://apps.shopify.com/simplycost)
0 Likes
Excursionist
14 0 2

Thanks for the clarification, David.  I appreciate it. 

EZ Inventory | EZ Exporter | Slacky | EZ Importer | https://apps.shopify.com/partners/highview-apps
0 Likes
Shopify Staff
Shopify Staff
12 0 0

Zapfor, 

The refund portion of the migration guide has just been updated to hopefully answer your question  https://help.shopify.com/en/api/guides/multi-currency-migration-guide#refund-resource 

Let me know if we've missed something.

0 Likes
Shopify Partner
76 1 11

Hi David,

Yes it does answer my question.

One more question :) I am in a country where Shopify Payments is not supported. How do I test in this case?

SimplyCost - Add costs and track profit (https://apps.shopify.com/simplycost)
0 Likes
Shopify Staff
Shopify Staff
12 0 0

Zapfor,

Great question. I'm going to see if there are any alternatives, unfortunately as of right now you'll need to enable Shopify Payments and connect a bank account to get the Accepted currencies option to display.

You should be able to play around with the actual APIs you just won't get as much interesting data without the ability to enable additional currencies.

0 Likes