MFStream¶
Payment System with a 99.9% Guaranteed Operational Performance Experience a secure and streamlined payment solution that offers added measures against fraud, supports KYC compliance, enables easy integration, and allows personalized account customization.
Website: mfstream.io
Set up Account H2H merchant account¶
Step 1: Create Merchant Account¶
To create an account send connection request at the mfstream.io/#contacts or contact manager directly. Submit the required documents to verify your account and gain access.
Step 2: Get required credentials¶
Credentials that have to be issued:
- mfstream__shop_id → Id
- mfstream__public_key → public key
- mfstream__secret_key → secret key
- mfstream__test_mode → true/false
- mfstream__three_ds_mode → advanced/simple
- advanced → the advanced 3DS 2.0 verification scenario is designed for those merchants who want more control over the payment processing flow. It is the merchant's application that forwards the customer to the ACS form for verification, gets the response, and then submits the received 3-D Secure verification results to the MF STREAM system to finalize a transaction.
- simple → 3DS 1.0 is used
- mfstream__provider → MF Stream
- mfstream__currency → choose currency (You can set these parameters according to available currencies and features for your MFStream wallets and services, but it's necessary to check details of the connection with your Corefy account manager.)
Connect Merchant Account¶
Step 1. Connect H2H account at the Corefy Dashboard¶
Press Connect at MFStream Provider Overview page in 'New connection' section and choose H2H Merchant account option to open Connection form.
Enter credentials:
- Shop ID
- Public Key
- Secret Key
- Test mode
- 3DS Mode
- Provider URL
- Currency
Success
You have connected MFStream H2H merchant account!
API examples:¶
Minimum data set to create a payment invoices for payment_card_usd_hpp service¶
SALE
POST /api/commerce/payment-invoices HTTP/1.0
{
"data":{
"type":"payment-invoice",
"attributes":{
"service":"payment_card_usd_hpp",
"commerce_account":"Hello_World",
"currency":"USD",
"amount":1,
"flow":"charge",
"gateway_options":{
"cardgate":{
"tokenize":""
}
},
"customer":{
"reference_id":"55041b5b-adfd-4073-a92b-fd8b495a4cc1",
"email":"[email protected]"
},
"test_mode":true,
"options":{
"allow_partially":false,
"bypass_hpp":false,
"send_operation_context_on_return":false
},
"reference_id":"86e68af6-6b95-4cc0-be16-e4df8044604c",
"service_fields":[
]
}
}
}
Maximum data set to create a payment invoices for payment_card_usd_hpp service¶
SALE
POST /api/commerce/payment-invoices HTTP/1.0
{
"data":{
"type":"payment-invoice",
"attributes":{
"service":"payment_card_usd_hpp",
"commerce_account":"Hello_World",
"currency":"USD",
"amount":1,
"flow":"charge",
"gateway_options":{
"cardgate":{
"tokenize":""
}
},
"customer":{
"reference_id":"bc75bc54-5023-4f98-8c0d-ec5ed7e8f380",
"name":"John Wick",
"email":"[email protected]",
"phone":"+3806771234567",
"address":{
"full_address":"Shevchenko 123",
"country":"UA",
"region":"AA",
"city":"Kyiv",
"street":"Shevchenko st",
"post_code":"65000"
}
},
"test_mode":true,
"options":{
"allow_partially":false,
"bypass_hpp":false,
"send_operation_context_on_return":false
},
"reference_id":"08f5e97c-1170-4bda-9625-3bde3c6dcd20",
"service_fields":[
]
}
}
}
Constants¶
If some parameters are not sent in the transaction creation request, they will take the values from the set constants.
Here is a list of constants with their corresponding parameters:
- IP → browserInfoDto [ip]
- DESCRIPTION → transaction [description]
- LANG → constants [lang]
- EMAIL → customer [email]
- REASON → transaction [Description]
- COUNTRY → customer [address] [country]
- CITY → customer [address] [city]
- STATE → customer [address] [state]
- ZIP → customer [address] [zip]
- ADDRESS → customer [address] [address]
Provider Options¶
- Ignore Callbacks
- for cascading to work correctly, we exclude the possibility of finalizing payments using asynchronous callbacks, ignore the callback, do not change the status of the transaction on it in any way and rely only on the status request for finalization (Reconciliation)
- Duplicate Check
- The boolean parameter controls whether the payment gateway will do a duplicate check of the received requests to charge a card. By default, it is true and duplicate requests with the same amount and number or token sent within 30 seconds after the original request will be rejected
Default values¶
If some parameters are not passed in the request to create a transaction and the corresponding constants have no values, then default values will be passed instead.
Here is the list of default values with their corresponding parameters:
- DEFAULT_IP = '127.0.0.1';
- DEFAULT_DESCRIPTION = 'Some service';
- DEFAULT_LANG = 'en';
- DEFAULT_EMAIL = 'john@example.com';
- DEFAULT_REASON = 'return of goods';
- DEFAULT_COUNTRY = 'DE';
- DEFAULT_CITY = 'Denver';
- DEFAULT_STATE = 'CO';
- DEFAULT_ZIP = '96002';
- DEFAULT_ADDRESS = '1st Street';
Question
"Still looking for help connecting your MFStream account?" Please contact our support team!