{"templateId":"markdown","versions":[{"version":"v1.0","label":"v1.0","link":"/docs/v1.0/guides/transactions/face-to-face/face-to-face-int-path-cc","default":false,"active":true,"folderId":"a2557b8d"},{"version":"v2.0","label":"v2.0 (latest version)","link":"/docs/v2.0/guides/transactions/face-to-face/face-to-face-int-path-cc","default":true,"active":false,"folderId":"a2557b8d"}],"sharedDataIds":{"sidebar":"sidebar-docs/@v1.0/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition","DSteps","DStep","tabs","tab","img"]},"type":"markdown"},"seo":{"title":"Face-to-face transaction flow","description":"Step by step guide showing a full face-to-face transaction flow with credit card payment.","llmstxt":{"hide":false,"title":"Trustap API","description":"Trustap is an API for end-to-end transaction solution that seamlessly integrates payments, fulfillment, and support into your marketplace. Trustap is an escrow API service facilitating secure transactions.","sections":[{"title":"Intro","description":"Trustap API introduction.","includeFiles":["docs/v2.0/intro/*.md"],"excludeFiles":[]},{"title":"Concepts","description":"Trustap Concepts","includeFiles":["docs/v2.0/concepts/*.md"],"excludeFiles":["docs/v2.0/concepts/errors.md"]},{"title":"Guides","description":"Trustap integration guides","includeFiles":["docs/v2.0/guides/**/*.md"],"excludeFiles":["docs/v2.0/guides/listing/"]},{"title":"API Reference","description":"Trustap API reference guide","includeFiles":["**/apis/@v2.0/openapi.yaml"],"excludeFiles":[]}],"excludeFiles":[]},"meta":[{"name":"robots","content":"noindex"}]},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"face-to-face-transaction-flow-with-credit-card-payment","__idx":0},"children":["Face-to-face transaction flow with credit card payment"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following steps show a full face-to-face transaction from start to finish with a credit card payment."," ","In some cases, Trustap also support some local payment methods. For example, Swish, BLIK, iDEAL, Apple Pay, and Google Pay."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before you begin this guide, follow our ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/v1.0/intro/auth"},"children":["setup guide"]},"."]}]},{"$$mdtype":"Tag","name":"DSteps","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"create-a-sellers-and-buyers","__idx":1},"children":["Create a sellers and buyers"]},{"$$mdtype":"Tag","name":"DStep","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Follow our ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/v1.0/guides/transactions/users"},"children":["users"]}," guide to create user objects for both seller and buyer."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"get-trustap-fee-charge","__idx":2},"children":["Get Trustap Fee (Charge)"]},{"$$mdtype":"Tag","name":"DStep","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before creating a transaction, retrieve the charge for the transaction. This returns the cost for using the Trustap service for this transaction."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["price"]}," is an integer, in which the last 2 digits are the decimal part of the price. For example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["price:1050"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["currency:gbp"]}," = 10,50€."]}]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"Get Trustap fee","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"CURL","header":{"controls":{"copy":{}}},"source":"curl --location 'https://dev.stage.trustap.com/api/v1/p2p/charge?price=20000&currency=gbp' \\\n--user '<API_KEY>:'\n","lang":"CURL"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Response","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"charge\": 820,\n    \"charge_calculator_version\": 3,\n    \"charge_config\": 1,\n    \"charge_seller\": 0,\n    \"currency\": \"gbp\",\n    \"payment_method\": \"card\",\n    \"price\": 20000\n}\n","lang":"json"},"children":[]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"create-a-transaction-with-a-seller-and-buyer","__idx":3},"children":["Create a transaction with a seller and buyer"]},{"$$mdtype":"Tag","name":"DStep","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the Trustap API, the transaction object includes details about the the buyer and seller, the type of transaction, and the status of the transaction."]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"Create a transaction","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"JSON","header":{"controls":{"copy":{}}},"source":"curl --location 'https://dev.stage.trustap.com/api/v1/p2p/me/transactions/create_with_guest_user' \\\n--header 'Trustap-User: 1-886e3c26-b585-4c92-a93b-e3c84b9b32e9' \\\n--header 'Content-Type: application/json' \\\n--user '<API_KEY>:' \\\n--data '{\n\"seller_id\": \"1-886e3c26-b585-4c92-a93b-e3c84b9b32e9\",\n\"buyer_id\": \"1-615a70d4-b624-4243-95be-a8367b7953ea\",\n\"creator_role\": \"seller\",\n\"currency\": \"gbp\",\n\"description\": \"Ireland vs Croatia UEFA Nations League\",\n\"deposit_price\": 20000,\n\"deposit_charge\": 820,\n\"charge_calculator_version\": 3,\n\"skip_remainder\": true,\n\"image_url\": \"https://docs.trustap.com/images/soccer-tickets.png\"\n}'\n","lang":"JSON"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Response","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  {\n    \"id\": 21134,\n    \"status\": \"joined\",\n    \"currency\": \"gbp\",\n    \"quantity\": 1,\n    \"deposit_pricing\": {\n        \"price\": 20000,\n        \"charge\": 820,\n        \"charge_seller\": 0,\n        \"deposit_fee_multiplier\": {\n            \"fee_multiplier\": 1\n        }\n    },\n    \"description\": \"Ireland vs Croatia UEFA Nations League\",\n    \"image_url\": \"https://docs.trustap.com/images/soccer-tickets.png\",\n    \"created\": \"2025-01-24T17:08:28Z\",\n    \"skip_remainder\": true,\n    \"is_deposit_payment_in_progress\": false,\n    \"is_remainder_payment_in_progress\": false,\n    \"client_id\": \"118931fb-e3fc-44fc-8a86-06a79d26972c\",\n    \"buyer_id\": \"1-615a70d4-b624-4243-95be-a8367b7953ea\",\n    \"seller_id\": \"1-886e3c26-b585-4c92-a93b-e3c84b9b32e9\",\n    \"joined\": \"2025-01-24T17:08:28Z\",\n    \"deposit_payment_capture\": null,\n    \"buyer_is_guest\": true,\n    \"seller_is_guest\": true\n}\n}\n","lang":"json"},"children":[]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"buyer-transfers-funds","__idx":4},"children":["Buyer transfers funds"]},{"$$mdtype":"Tag","name":"DStep","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After a transaction is created, redirect the buyer to the payment page to pay for it."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the following examples, replace ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<CALLBACK_PAYMENT>"]}," with the redirect URI you set ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/v1.0/intro/auth"},"children":["during your Trustap setup"]},". This is the location where the buyer will be redirected to following payment."]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Use case"},"children":["Use case"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"URL"},"children":["URL"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Test environment - Guest buyer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://actions.stage.trustap.com/f2f/transactions/{transaction_id}/pay_deposit?redirect_uri=<CALLBACK_PAYMENT>"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Test environment - Full user buyer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://actions.stage.trustap.com/f2f/transactions/{transaction_id}/user_pay_deposit?redirect_uri=<CALLBACK_PAYMENT>"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Production environment - Guest buyer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://actions.trustap.com/f2f/transactions/{transaction_id}/pay_deposit?<CALLBACK_PAYMENT>"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Production environment - Full user buyer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://actions.trustap.com/f2f/transactions/{transaction_id}/user_pay_deposit?<CALLBACK_PAYMENT>"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For example:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"cURL","header":{"controls":{"copy":{}}},"source":"https://actions.stage.trustap.com/f2f/transactions/21380/pay_deposit?redirect_uri=https://www.example.com\n","lang":"cURL"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Trustap API also supports ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["state"]}," when sending a buyer to the payment screen."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Learn more about ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["state"]}," in our ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/v1.0/guides/state"},"children":["guide"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The payment screen looks like the following."]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/card-payment-f2f.12892505eacb1bc95277ea1fde3a8daa5296e2c7cfe451482f5050082d00bc11.df2da560.png","alt":"Image with dimensions","withLightbox":true,"width":600},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"seller-accepts-deposit","__idx":5},"children":["Seller accepts deposit"]},{"$$mdtype":"Tag","name":"DStep","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once the payment is made by the buyer, the seller can choose to accept the deposit."]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"Seller accept deposit","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"CURL","header":{"controls":{"copy":{}}},"source":"curl --location --request POST 'https://dev.stage.trustap.com/api/v1/p2p/transactions/21380/accept_deposit_with_guest_seller' \\\n--header 'Trustap-User: 1-886e3c26-b585-4c92-a93b-e3c84b9b32e9' \\\n--user '<API_KEY>:'\n","lang":"CURL"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Response","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"JSON","header":{"controls":{"copy":{}}},"source":"{\n    \"id\": 21380,\n    \"status\": \"remainder_skipped\",\n    \"currency\": \"gbp\",\n    \"quantity\": 1,\n    \"deposit_pricing\": {\n        \"price\": 20000,\n        \"charge\": 820,\n        \"charge_seller\": 0,\n        \"deposit_fee_multiplier\": {\n            \"fee_multiplier\": 1\n        },\n        \"charge_international_payment\": 311\n    },\n    \"description\": \"Ireland vs Croatia UEFA Nations League\",\n    \"image_url\": \"https://docs.trustap.com/images/soccer-tickets.png\",\n    \"created\": \"2025-01-31T17:26:01Z\",\n    \"skip_remainder\": true,\n    \"is_deposit_payment_in_progress\": false,\n    \"is_remainder_payment_in_progress\": false,\n    \"client_id\": \"118931fb-e3fc-44fc-8a86-06a79d26972c\",\n    \"buyer_id\": \"1-615a70d4-b624-4243-95be-a8367b7953ea\",\n    \"seller_id\": \"1-886e3c26-b585-4c92-a93b-e3c84b9b32e9\",\n    \"joined\": \"2025-01-31T17:26:01Z\",\n    \"deposit_payment_capture\": null,\n    \"deposit_paid\": \"2025-01-31T17:38:55Z\",\n    \"deposit_accepted\": \"2025-01-31T17:45:39Z\",\n    \"remainder_skipped\": \"2025-01-31T17:45:39Z\",\n    \"buyer_is_guest\": true,\n    \"seller_is_guest\": true\n}\n\n","lang":"JSON"},"children":[]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"handover-is-confirmed","__idx":6},"children":["Handover is confirmed"]},{"$$mdtype":"Tag","name":"DStep","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once the physical handover of the item has taken place, the buyer must confirm the handover was complete before funds can be released to the seller."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Both parties can confirm the handover for a face-to-face transaction. The complaints period begins (24h) when any of the users confirms the handover."]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"Seller confirms handover","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"CURL","header":{"controls":{"copy":{}}},"source":"curl --location --request POST 'https://dev.stage.trustap.com/api/v1/p2p/transactions/21380/confirm_handover_with_guest_user' \\\n--header 'Trustap-user: 1-886e3c26-b585-4c92-a93b-e3c84b9b32e9' \\\n--user '<API_KEY>:'\n","lang":"CURL"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"Response","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"JSON","header":{"controls":{"copy":{}}},"source":"{\n    \"id\": 21380,\n    \"status\": \"seller_handover_confirmed\",\n    \"currency\": \"gbp\",\n    \"quantity\": 1,\n    \"deposit_pricing\": {\n        \"price\": 20000,\n        \"charge\": 820,\n        \"charge_seller\": 0,\n        \"deposit_fee_multiplier\": {\n            \"fee_multiplier\": 1\n        },\n        \"charge_international_payment\": 311\n    },\n    \"description\": \"Ireland vs Croatia UEFA Nations League\",\n    \"image_url\": \"https://docs.trustap.com/images/soccer-tickets.png\",\n    \"created\": \"2025-01-31T17:26:01Z\",\n    \"skip_remainder\": true,\n    \"is_deposit_payment_in_progress\": false,\n    \"is_remainder_payment_in_progress\": false,\n    \"client_id\": \"118931fb-e3fc-44fc-8a86-06a79d26972c\",\n    \"buyer_id\": \"1-615a70d4-b624-4243-95be-a8367b7953ea\",\n    \"seller_id\": \"1-886e3c26-b585-4c92-a93b-e3c84b9b32e9\",\n    \"joined\": \"2025-01-31T17:26:01Z\",\n    \"deposit_payment_capture\": null,\n    \"deposit_paid\": \"2025-01-31T17:38:55Z\",\n    \"deposit_accepted\": \"2025-01-31T17:45:39Z\",\n    \"remainder_skipped\": \"2025-01-31T17:45:39Z\",\n    \"seller_handover_confirmed\": \"2025-01-31T17:47:18Z\",\n    \"complaint_period_deadline\": \"2025-01-31T17:52:18Z\",\n    \"buyer_is_guest\": true,\n    \"seller_is_guest\": true\n}\n","lang":"JSON"},"children":[]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"complaints-period","__idx":7},"children":["Complaints period"]},{"$$mdtype":"Tag","name":"DStep","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["At this point, the buyer has the option to create a complaint if the were not satisfied with the transaction."," ","The buyer will receive an email from Trustap with details on how to create a complaint."," ","Submitting complaint will pause any payout until the issue is resolved. The Trustap support team mediate between both buyer and seller to resolve the complaint."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The complaints period typically lasts 24 hours."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Alternatively, you can enable your buyer to manually ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/v1.0/guides/transactions/complaint"},"children":["create a complaint"]},"."," ","If a complaint is made, you will receive an email as well as a ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/v1.0/concepts/webhooks"},"children":["webhook event"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If no complaint is made within the complaints period, funds are automatically released ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#step-9-seller-claims-payout"},"children":["following the seller claiming the payout"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"seller-claims-transaction","__idx":8},"children":["Seller claims transaction"]},{"$$mdtype":"Tag","name":"DStep","attributes":{},"children":[{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A seller must register for a full Trustap account before they can claim a transaction. See our ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/v1.0/guides/transactions/full-users"},"children":["full user guide"]}," for details."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Using the seller full Trustap account user ID as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Trustap-User"]},", claim the transaction. This links the transaction to their full Trustap account."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"CURL","data-title":"Seller claims transaction","header":{"title":"Seller claims transaction","controls":{"copy":{}}},"source":"curl --location --request POST 'https://dev.stage.trustap.com/api/v1/p2p/transactions/21380/claim_for_seller' \\\n--header 'Trustap-User: b9c9e108-1edd-5d5e-8268-8873d7beb3e3' \\\n--user '<API_KEY>:'\n","lang":"CURL"},"children":[]},{"$$mdtype":"Tag","name":"ol","attributes":{"start":3},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Following confirmation of handover and a successful complaints period, the seller will receive the payout from the transaction to their account."]}]}]}]}]},"headings":[{"value":"Face-to-face transaction flow with credit card payment","id":"face-to-face-transaction-flow-with-credit-card-payment","depth":1},{"value":"Create a sellers and buyers","id":"create-a-sellers-and-buyers","depth":3},{"value":"Get Trustap Fee (Charge)","id":"get-trustap-fee-charge","depth":3},{"value":"Create a transaction with a seller and buyer","id":"create-a-transaction-with-a-seller-and-buyer","depth":3},{"value":"Buyer transfers funds","id":"buyer-transfers-funds","depth":3},{"value":"Seller accepts deposit","id":"seller-accepts-deposit","depth":3},{"value":"Handover is confirmed","id":"handover-is-confirmed","depth":3},{"value":"Complaints period","id":"complaints-period","depth":3},{"value":"Seller claims transaction","id":"seller-claims-transaction","depth":3}],"frontmatter":{"seo":{"title":"Face-to-face transaction flow","description":"Step by step guide showing a full face-to-face transaction flow with credit card payment.","meta":[{"name":"robots","content":"noindex"}]},"excludeFromSearch":true},"lastModified":"2026-04-03T11:15:25.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/v1.0/guides/transactions/face-to-face/face-to-face-int-path-cc","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}