COINQVEST is now Whalestack
You are looking at a blog post that was published when Whalestack was still known as COINQVEST. The content might be referencing our old name.
Blog Guide
Jun 3, 2020
Customer Management For Cryptocurrency Payment Processing with COINQVEST
This guide walks you through associating customer information with payments processed through COINQVEST, which enables online merchants to generate compliant transaction history and accounting records, as well as to issue invoices, receipts, and payment confirmations for clients.
Accepting cryptocurrency payments online is easy. In its simplest form, all that is needed is an address or account on a blockchain, which can be shared with others as a destination address for funds. Customers can send payments directly to that address from within their wallets. However, this type of transaction is anonymous and lacks meta and context information. While this process might be suitable for peer-to-peer payments within the scope of personal use cases, it does not meet the requirements for e-commerce and professional payment processing by online merchants.
Fortunately, COINQVEST provides intuitive tools to associate customer information with payments processed through online shops. The platform enables online merchants to generate compliant transaction history and accounting records as well as to issue invoices, receipts, and automated payment confirmations for clients.
Linking payments with customer information is also in the spirit of emerging compliance standards and regulations for cryptocurrency payments. In June 2019, the Financial Action Task Force (FATF), the global anti-money laundering (AML) watchdog, updated its guidance to explicitly state that virtual asset service providers, or VASPs, must capture sender (originator) and receiver (beneficiary) information in cryptocurrency transactions above a certain threshold.
Creating and managing customer objects is done programmatically through the use of our the Merchant API or conveniently in a web browser window without any code.
Creating Customers via API
Using the API, a customer is created by invoking the POST /customer
endpoint. This either creates a customer or updates an existing object (this endpoint is an alias of PUT /customer
for convience).
{
"customer":{
"email":"john@doe.com",
"firstname":"John",
"lastname":"Doe",
"company":"ACME Inc.",
"adr1":"810 Beach St",
"adr2":"Finance Dept",
"zip":"CA 94133",
"city":"San Francisco",
"countrycode":"US",
"mobilenumber":"+14156226819",
"taxid":"US1234567890",
"note":"Always pays on time. Never late.",
"meta":{
"reference":123
}
}
}
In return, a unique identifier is received, which is passed along a charge when requesting payments via the programming interface using the POST /checkout
endpoint.
{
"charge":{
"customerId":"123456789012",
"currency":"USD",
"lineItems":[
{
"description":"T-Shirt",
"netAmount":10.00
}
]
}
}
In the above example, a charge for 10.00 USD is created and associated with the given customer. This results in additional meta information in transaction history and accounting reports. Learn more about API based checkouts with COINQVEST by reading our developer guide.
Creating Customers via Web Browser
Customers can also be created using our management tools in the web interface. The UI collects all the same fields as in the API request above.
Merchants that create charges using our non-developer interface can associate customer information with their checkout within the payment request configuration UI.
Online shops operating in WordPress can specify in their plugin configuration settings what kind of customer information (none, minimal, or compliant) they want to collect and associate with a checkout. Learn more about our WordPress plugin here.
Managing Customers
Once customer objects are created, they instantly become available in the management UI, where they can be inspected, edited, deleted, and exported into a CSV file. COINQVEST aggregates some additional context information about each customer, provides statistics and a convenient search field for quick access to specific customers.
Customer Details
Customer details include contact and billing information about a customer, personalized notes, and custom meta information (e.g. identifiers for your internal, CRM, e-commerce, or accounting systems). The page also provides links to related payments and blockchain accounts used by the customer during the checkout process. These are not only informative, but also extremely helpful if a customer requests a refund for example.
API requests that create or modify a customer object or link it to a specific charge or payment are listed in the customer details view and can be inspected with a mouse click. This is useful for developers as well as potential audit logging.
Exporting Customer Information
All of the above customer data can be exported individually or in bulk (alongside other customers) using the web interface of programming API. Use the export function in the customer segment of the web interface or request the data via the GET /customers
endpoint.
Invoicing Customers
One of the most obvious advantages of linking payments with customer information is the ability to automatically generate and issue invoices on-demand. When a payment on COINQVEST completes, a customer (and the merchant) automatically receive a copy of an invoice for their accounting purposes.
Payment ⬌ Customer Relation
Payments, customers, withdrawals, refunds and other components are modeled as objects within the COINQVEST architecture. When inspecting payments, the UI displays meta information and a link to the related customer and vice versa.
Summary
Customer management with COINQVEST is easy with our web interface tools and programming APIs. Associating customer information with with payments is not only informative but helps you stay compliant and organized. It empowers you to keep a detailed track record of customer activity and simplifies tasks like refunds, invoicing, and accounting.
We Love to Help!
If you have questions, feedback or improvement suggestions, please feel free to contact us directly anytime.