In order to test a transaction, you need 3 things:
A user who is a provider, with their payout details connected
A listing to transact over, owned by the provider user
A user who is a customer and will pay for the listing
This article will not go over the steps to create users or listings. If you want to find out how to do that, you can visit the corresponding articles:
In order to create transactions in a marketplace, a Stripe account is normally needed. Sharetribe provides one to all test marketplaces by default, so you don't need to create one while testing.
You don't need to create a Stripe account to use your test marketplace. You only need it when you want to develop your marketplace with code or go live.
1. Browse listings and initiate a transaction in a listing
Every listing that has been published and can be browsed should be ready to start a transaction. Listings that require payment, in rental or purchase listing types, require the listing author to add their payout details before publishing. Listings in free message listing type don't require payment and can be published and transacted right away.
Once you find the listing, you can go ahead and access the listing page. From the listing page, you can initiate a transaction in your marketplace in two ways: 1) You can contact the listing author via the contact link at the bottom of the page, or 2) you can click on the "start transaction" button on the right of the page.
1) Initiate a transaction via the Contact link
At the bottom of the page, next to the Author information. You can find the Contact link. You are able to contact the listing author through this link to initiate a transaction. If you send a message, the system starts an inquiry transaction. Within the inquiry page, you can initiate a payment later on a listing that supports payments within the same transaction. If you initiate a transaction within the inquiry page, you will move through the flow as if you had just clicked the "start transaction" button in the first place.
Before you initiate a payment through the "start transaction" button, the two users can keep messaging back and forth to ask questions and agree on details until actually proceeding to the payments.
A listing within a Free messaging listing type doesn't include the contact button.
2. Initiate a transaction via the "start transaction" button
Users can initiate transactions through the "start transaction" button on any listing page. The "start transaction" button can have different labels, depending on the listing type or the Marketplace texts settings. For example, for Calendar booking listings, the button's text is "Request to book"; for Free messaging listings, it is "Send an inquiry"; and for Product selling listings, it is "Buy now".
Click on the "start transaction" button to initiate the transaction process.
3. Fill out your payment details and finish the booking request
In the test environment, in order to pay for your listing, you need to use test payment data provided by Stripe. Real-life payment data, like your own credit card details, will not work. You need to get the information from Stripe's test data page. To simplify things in the Test environment, Sharetribe has added a button that allows you to fill in the most important test details without worrying about finding the data in Stripe's documentation.
Important: For free messaging listings, there is only a message box. There is no need to add payment details. The process is really simple.
Click on the "Fill in test details" button, and the default data will be populated.
Scroll down to the bottom of the page, and you will see you can add a custom message, which will be sent to the Bike owner at the same time as the booking request.
Click "Confirm booking request" or the corresponding label if you have edited the Marketplace texts.
You will be taken to a confirmation page, where you can also send a message to the listing owner. This message will be sent independently from the booking request.
That's it for the customer. Now, it's the provider's turn.
4. Move the transaction forward as a provider
Now that the transaction has been initiated, it’s time to test how the provider would need to react. This allows you to see both sides of the transaction. Log out of the marketplace and log back in with the provider, the user account with the listing you just booked, bought, or messaged about with the customer account.
Once logged in, you might see a red dot notification indicator in the top right inbox if the listing is a "Calendar booking" or a "Purchase" type. You will not see the dot if the listing is a "Free messaging" type.
When you click on the inbox, you will go to your inbox, where you can find all the transactions in which this user has participated. Choose the latest one if you have more than one, which should correspond to the transaction that happened recently.
The next screen changes, depending on the listing type:
As a provider in the booking flow, you have the option to accept or decline the request as a next step. If you are testing this flow, for simplicity, choose "Accept request" now.
As a provider in the purchase flow, the next step would be to ship the item or wait for delivery and then mark the item as shipped or delivered.
As a provider in the free messaging flow, there is no next step in the transaction. You can message the customer and agree on the details.
Perfect! The transaction has now moved to the next step. It has been accepted and will be automatically completed by the system a few days after the booking end date. Alternatively, it has been marked as shipped/delivered, and the next step is for the customer to mark the transaction as received or dispute it. You can find out more about the exact steps of each transaction process in this article.
The marketplace operator, you, can interfere in each transaction process through Console. For example, you can mark the booking as completed, mark the purchase as delivered, or even cancel or dispute the transaction on behalf of the users.
Note that if you used your own emails for testing with both provider and customer accounts, you should also have received email notifications about these transactions. These notifications can be customized through Email texts.
Tip: You could now go back on the flow to create another transaction to test a different flow. You can, for example, decline a booking type listing to see the notification that is sent when declining the booking. Or create a listing with another listing type and start the process over.