Billing details

Step 1 – Get Available Payment Types

Retrieve the available payment types for the current vendor onboarding process using this endpoint - API Reference

GET https://api.dev.mrkter.io/vendor/onboardings/wizard

Required Headers:

1 . "Authorization"

2 . "x-session-id"

Example response:

{
    "clientId": 1,
    "connectorId": 1,
    "currentStep": 1,
    "status": "IN_PROGRESS",
    "profileCustomizationEnabled": true,
    "profileCustomizationAccountAddressRequired": true,
    "profileCustomizationAccountInfoRequired": true,
    "profileCustomizationContactInfoRequired": true,
    "profileCustomizationPaymentMethodRequired": true,
    "preferredPaymentCurrencyEnabled": true,
    "taxFormCollectionEnabled": true,
    "taxFormCollectionRequired": true,
    "taxFormsToCollect": "UsAndInternational",
    "availablePaymentTypes": [
        {
            "id": 227,
            "isVerificationRequired": true,
            "thresholdAmount": 100,
            "paymentType": "WIRE_TRANSFER",
            "availableCurrencies": [
                "CHF",
                "USD",
                "EUR"
            ]
        },
        {
            "id": 228,
            "isVerificationRequired": true,
            "thresholdAmount": 100,
            "paymentType": "CRYPTO",
            "availableCurrencies": [
                "USD",
                "EUR"
            ]
        },
        {
            "id": 230,
            "isVerificationRequired": true,
            "thresholdAmount": 100,
            "paymentType": "PAYPAL",
            "availableCurrencies": [
                "USD"
            ]
        }
    ]
}

Step 2 – Display Form by Payment Type

Once the vendor selects a payment method, display the appropriate form for the payment type. Below are the API references for each type.


Payment Type: CRYPTO

Before saving a crypto wallet, validate the wallet address - API Reference

POST https://api.dev.mrkter.io/crypto-payment/screening

Required Headers:

1 . "Authorization"

2 . "x-session-id"

Example request:

{
  "walletAddress": "0xfEab93602A53b59bF2C622EA47C6dFFf07be7d04",
  "cryptoCurrency": "BTC"
}

Example response (Valid Address):

{
  "isApproved": true
}

Example response (Invalid Address):

{
  "isApproved": false,
  "reason": "Validation error: Not a valid Bitcoin address."
}

Save Crypto Wallet

If validation succeeds, save the wallet:

Then if address is valid we are need save it - API Reference

PUT https://api.dev.mrkter.io/vendor/billing-details/update/crypto

Required Headers:

1 . "Authorization"

2 . "x-session-id"

Example request:

{
  "affiliateId": "123123123123123",
  "phoneNumber": "972531112233",
  "accountEmail": "[email protected]",
  "nickName": "Payouts",
  "paymentCurrency": "BTC",
  "invoiceCurrency": "USD",
  "wallet": "1239734059702134-0898732984570",
  "isActive": false
}

Example response:

{
  "vendorId": 321,
  "affiliateId": "123123123123123",
  "phoneNumber": "972531112233",
  "nickName": "Payouts",
  "paymentCurrency": "BTC",
  "invoiceCurrency": "USD",
  "wallet": "1239734059702134-0898732984570",
  "isActive": false,
  "paymentType": "CRYPTO"
}

Payment Type: PAYPAL - API Reference

PUT https://api.dev.mrkter.io/vendor/billing-details/update/paypal

Required Headers:

1 . "Authorization"

2 . "x-session-id"

Example request:

{
  "paypalReceiver": "123123123123123",
  "paypalRecipientType": "PAYPAL_ID",
  "invoiceCurrency": "USD",
  "isActive": false
}

Example response:

{
  "vendorId": 321,
  "paypalReceiver": "123123123123123",
  "paypalRecipientType": "PAYPAL_ID",
  "invoiceCurrency": "USD",
  "isActive": false,
  "paymentType": "PAYPAL"
}


Payment Type: PAYONEER - API Reference

PUT https://api.dev.mrkter.io/vendor/billing-details/update/payoneer

Required Headers:

1 . "Authorization"

2 . "x-session-id"

Example request:

{
  "affiliateId": "123123123123123",
  "phoneNumber": "972531112233",
  "accountEmail": "[email protected]",
  "nickName": "Payouts",
  "paymentCurrency": "USD",
  "invoiceCurrency": "USD",
  "payoneerEmail": "[email protected]",
  "payoneerAuthCode": "N2gLIED3",
  "payoneerId": "12837020",
  "isActive": false
}

Example response:

{
  "vendorId": 321,
  "affiliateId": "123123123123123",
  "phoneNumber": "972531112233",
  "nickName": "Payouts",
  "paymentCurrency": "BTC",
  "invoiceCurrency": "USD",
  "payoneerEmail": "[email protected]",
  "payoneerId": "12837020",
  "isActive": false,
  "paymentType": "PAYONEER"
}


Payment Type: WIRE

Step 1 – Generate Form Schema - API Reference

POST https://api.dev.mrkter.io/vendor/beneficiaries/form_schemas/generate

Required Headers:

1 . "Authorization"

2 . "x-session-id"

Example request:

{
  "bankCountryCode": "US",
  "accountCurrency": "USD",
  "transferMethod": "LOCAL",
  "localClearingSystem": "ACH",
  "entityType": "PERSONAL"
}

Example response:

{
  "condition": {
    "accountCurrency": "USD",
    "bankCountryCode": "US",
    "entityType": "PERSONAL",
    "localClearingSystem": "ACH",
    "transferMethod": "LOCAL"
  },
  "fields": [
    {
      "enabled": false,
      "field": {
        "default": "PERSONAL",
        "description": "Recipient account type",
        "example": "PERSONAL",
        "key": "entity_type",
        "label": "Recipient account type",
        "placeholder": "",
        "refresh": true,
        "tip": "",
        "type": "RADIO"
      },
      "path": "beneficiary.entity_type",
      "required": true,
      "rule": {
        "type": "string",
        "pattern": "COMPANY|PERSONAL"
      }
    }
  ]
}

Step 2 – Validate Vendor Data

Validate vendors data based on the generated schema - API Reference

Example request:

{
  "beneficiary": {
    "additionalInfo": {
      "businessArea": "Travel",
      "businessPhoneNumber": "689342234",
      "businessRegistrationNumber": "IT593003",
      "legalRepBankAccountNumber": "44250100003700000000",
      "legalRepFirstNameInChinese": "小芳",
      "legalRepMobileNumber": "972531112233",
      "personalEmail": "[email protected]",
      "personalFirstNameInChinese": "小芳",
      "personalIdNumber": "1234567890",
      "personalIdType": "CHINESE_NATIONAL_ID",
      "personalLastNameInChinese": "李",
      "personalMobileNumber": "972531112233"
    },
    "address": {
      "city": "Melbourne",
      "countryCode": "AU",
      "postcode": "3000",
      "state": "VIC",
      "streetAddress": "15 William Street"
    },
    "bankDetails": {
      "accountCurrency": "AUD",
      "accountName": "Lee Da Ming",
      "accountNumber": "12750852",
      "accountRoutingType1": "bsb",
      "accountRoutingType2": "sort_code",
      "accountRoutingValue1": "Melbourne",
      "accountRoutingValue2": "83064",
      "bankAccountCategory": "some",
      "bankBranch": "Melbourne",
      "bankCountryCode": "AU",
      "bankName": "National Australia Bank",
      "bankStreetAddress": "500 Bourke Street, Melbourne 3000, Australia",
      "bindingMobileNumber": "972531112233",
      "fingerprint": "2e99758548972a8e8822ad47fa1017ff72f06f3ff6a016851f45c398732bc5",
      "iban": "ES8023100001180000012345",
      "localClearingSystem": "ACH",
      "swiftCode": "CTBAAU2S",
      "transactionReference": "4140110135"
    },
    "companyName": "Complete Concrete Pty Ltd",
    "dateOfBirth": "1976-08-26",
    "entityType": "COMPANY",
    "firstName": "John",
    "lastName": "Walker"
  },
  "nickname": "Complete Concrete Pty Ltd",
  "payerEntityType": "COMPANY",
  "transferMethods": [
    "SWIFT"
  ],
  "transferReason": "travel"
}

Example success response:

"OK"

Step 3 – Save Wire Details

Save request based on the generated schema - API Reference

PUT https://api.dev.mrkter.io/vendor/billing-details/update/wire

Required Headers:

1 . "Authorization"

2 . "x-session-id"

Example request:

{
  "affiliateId": "123123123123123",
  "accountType": "PERSONAL",
  "firstName": "John",
  "lastName": "Dow",
  "dateOfBirth": "2025-04-08T10:56:11.023Z",
  "vendorName": "John",
  "phoneNumber": "972531112233",
  "paymentType": "WIRE_TRANSFER",
  "paymentMethod": "LOCAL",
  "accountName": "Some account",
  "accountNumber": "123456789",
  "accountCountryCode": "IL",
  "accountCity": "Tel-Aviv",
  "accountStreet": "Habustan",
  "accountPostCode": "123345",
  "accountEmail": "[email protected]",
  "nickName": "NickName",
  "companyName": "Payouts LTD",
  "paymentCurrency": "USD",
  "invoiceCurrency": "USD",
  "bankName": "JP Morgan Chase Bank",
  "bankCountryCode": "US",
  "bankCity": "New York",
  "swiftCode": "CHASUS33XXX",
  "iban": "CH12US123i12312344",
  "ABANumber": "21000021",
  "bankNameCorrespondent": "JP Morgan Chase Bank",
  "swiftCodeBankCorrespondent": "CITIUS33XXX",
  "localClearingSystem": "FEDWIRE",
  "accountRoutingType": "aba",
  "accountRoutingValue": "21000021",
  "state": "VIC",
  "isActive": false
}

Example response:

{
  "id": 123,
  "vendorId": 321,
  "affiliateId": "123123123123123",
  "accountType": "PERSONAL",
  "firstName": "John",
  "lastName": "Dow",
  "dateOfBirth": "2025-04-08T10:56:11.026Z",
  "vendorName": "John",
  "phoneNumber": "972531112233",
  "paymentType": "WIRE_TRANSFER",
  "paymentMethod": "LOCAL",
  "accountName": "Some account",
  "accountNumber": "123456789",
  "accountCountryCode": "IL",
  "accountCity": "Tel-Aviv",
  "accountStreet": "Habustan",
  "accountPostCode": "123345",
  "accountEmail": "[email protected]",
  "nickName": "NickName",
  "companyName": "Payouts LTD",
  "paymentCurrency": "USD",
  "invoiceCurrency": "USD",
  "bankName": "JP Morgan Chase Bank",
  "bankCountryCode": "US",
  "bankCity": "New York",
  "swiftCode": "CHASUS33XXX",
  "iban": "CH12US123i12312344",
  "ABANumber": "21000021",
  "bankNameCorrespondent": "JP Morgan Chase Bank",
  "swiftCodeBankCorrespondent": "CITIUS33XXX",
  "localClearingSystem": "FEDWIRE",
  "accountRoutingType": "aba",
  "accountRoutingValue": "21000021",
  "accountAdditionalEssRegistrationNumber": "21000021",
  "accountAdditionalPersonalIdType": "21000021",
  "accountAdditionalPersonalIdNumber": "21000021",
  "accountAdditionalLegalRepFirstNameInChinese": "銀行",
  "accountAdditionalLegalRepIdNumber": "21000021",
  "accountAdditionalLegalRepLastNameInChinese": "銀行",
  "accountAdditionalBusinessPhoneNumber": "972531112233",
  "paypalReceiver": "[email protected]",
  "paypalRecipientType": "EMAIL",
  "payoneerId": "ae565e46-d5e1-49b5-ad3c-74d1498f387f",
  "payoneerUsername": "some_user",
  "state": "VIC",
  "wallet": "TZBnB57637fPQ7kLAtgUD7TDqDymiiD6Zz",
  "cryptoWallet": "TZBnB57637fPQ7kLAtgUD7TDqDymiiD6Zz",
  "payoneerEmail": "[email protected]",
  "isActive": false,
  "verificationStatus": "PENDING",
  "verificationSource": "PLAID",
  "accountAdditionalPersonalMobileNumber": "972531112233",
  "accountAdditionalPersonalEmail": "[email protected]",
  "bankStatementURL": "https://example.com",
  "createdAt": "2025-04-03T10:23:07.211Z",
  "updatedAt": "2025-04-03T10:23:07.211Z"
}