From MozillaWiki
Jump to: navigation, search
Stop (medium size).png
The Marketplace has been placed into maintenance mode. It is no longer under active development. You can read complete details here.

This refers to transaction numbers for payments on the Marketplace and the Marketplace/PaymentServer.


There are a mind boggling number of transaction numbers on the Marketplace payments system.


If you are doing support on marketplace payments, here's what you need to know:

  • we have a transaction number on our receipts, that's not the same number bango or paypal has
  • it's unique per transaction and the lookup tool will help you find information on it
  • if you have to contact bango...?

Marketplace (zamboni)

App payments start in the marketplace. A contribution record is created. These records are created when a user hits purchase. They might not complete the transaction and it might not be completed.

id The internal primary key on the table
uuid The externally available transaction id. This is given in receipts and used in the lookup. The marketplace knows this number, solitude does not.
transaction_id The internally available transaction id. Used to communicate between the marketplace and the backend (eg: solitude). Should not be shared externally (but its not a big deal if it is)

In app payments do not currently go through the marketplace. No receipt is sent, no transaction is recorded in the marketplace. There is no transaction number from the marketplace point of view. There is however transaction information in solitude.

Payment Server (solitude)

The solitude transaction is created for both app and in-app payments at the entrance to the trusted ui flow. The solitude transaction tracks more information than the marketplace knows, it shouldn't be the case that the marketplace needs to know much more, but if it does, it can query solitude.

Transactions have at least two phases: authorization and payment.

id The internal primary key on the table
uuid An internal uuid generated when you start the transaction. When the transaction is completed in solitude we send a post back to the marketplace. The Marketplace stores it in tracking_id on the contribution. So zamboni.tracking_id equals solitude.uuid. This is also the external tracking id that we send to the provider.
uid_pay An id from the provider that relates to the authorization of transaction. In Bango, this is the result of billingConfigurationId. In Paypal, it is the paykey.
uid_support An id from the provider that relates to the payment. When Bango completes the transaction, this is set to the values of bango_trans_id. This is the id used for refunds. If the transaction isn't completed, this won't be set.