Shipment API — "Please select a different Method of Payment" error for Venture One small business account

Hi,

I’m a web developer integrating the Canada Post REST API for a small e-commerce client using a Venture One account. The Rating API is working perfectly — we’re getting live rates at checkout. However, we’re having trouble with the Shipment Creation API.

Account details:

  • Customer Number: ******* (Will be provided if needed)
  • Account type: Venture One (small business, non-commercial contract)
  • Environment: Development (ct.soa-gw.canadapost.ca)

Error received:

“Please select a different Method of Payment.”

What we’ve tried in the <settlement-info> block:

  • <intended-method-of-payment>Account</intended-method-of-payment> — returns “Please select a different Method of Payment”
  • Removing the <contract-id> element (Canada Post support confirmed we don’t have a commercial contract number)
  • Adding <paid-by-customer>******* (account number)</paid-by-customer>

Question:
For a Venture One small business account without a commercial contract number, what is the correct <settlement-info> configuration for the Shipment Creation API? Is there a specific <intended-method-of-payment> value we should be using?

Any guidance would be greatly appreciated. Thank you.

Hi markdutch,

I’ve moved this topic to the Legacy APIs category, as it relates to the Developer Program APIs rather than the newer Developer Portal APIs.

For Small Business accounts (formerly known as Venture One accounts) that do not have a contract, you must set the <intended-method-of-payment> to CreditCard, since these accounts do not have a line of credit and therefore cannot use Account as the payment method.

In addition, you’ll need to save a credit card in your canadapost.ca profile and set it as the default payment method, as charges for these transactions will be applied to that card.

Many thanks,
The Developer Portal team