hipay/hipay-wallet-cashout-mirakl-library

View on GitHub
data/api/hipay.json

Summary

Maintainability
Test Coverage
{
    "name": "HiPay Wallet",
    "apiVersion": 1.0,
    "description": "",
    "operations": {
        "UploadDocument": {
            "httpMethod": "POST",
            "uri": "/api/identification",
            "summary": "Upload merchant document to HiPay",
            "parameters": {
                "userSpaceId": {
                    "type": "integer",
                    "description": "User space Id of the HiPay Wallet account",
                    "location": "postField",
                    "sentAs": "user_space",
                    "required": true
                },
                "type": {
                    "type": "integer",
                    "description": "Type of document to be uploaded",
                    "location": "postField",
                    "sentAs": "type",
                    "required": true
                },
                "file": {
                    "type": "any",
                    "description": "The document to be uploaded",
                    "location": "postFile",
                    "sentAs": "file",
                    "required": true
                },
                "back": {
                    "type": "any",
                    "description": "The document to be uploaded",
                    "location": "postFile",
                    "sentAs": "back",
                    "required": false
                },
                "validityDate": {
                    "type": "object",
                    "instanceOf": "DateTime",
                    "location": "postField",
                    "required": false,
                    "sentAs": "validity_date",
                    "filters": [
                        {
                            "method": "date_format",
                            "args": ["@value", "Y-m-d"]
                        }
                    ]
                }
            }
        },
        "GetDocuments": {
            "httpMethod": "GET",
            "uri": "/api/identification",
            "summary": "Get the list of all identification documents for a user space"
        },
        "GetBalance": {
            "httpMethod": "GET",
            "uri": "/api/user-account/balance",
            "summary": "Get the balance of a specific HiPay account.",
            "parameters": {
                "validityDate": {
                    "type": "object",
                    "instanceOf": "DateTime",
                    "location": "uri",
                    "required": false,
                    "sentAs": "date",
                    "filters": [
                        {
                            "method": "date_format",
                            "args": ["@value", "Y-m-d"]
                        }
                    ]
                }
            }
        },
        "GetBankInfo": {
            "httpMethod": "GET",
            "uri": "/api/user-account/bank-info",
            "summary": "Get HiPay Account bank details.",
            "parameters": {
                "locale": {
                    "type": "string",
                    "description": "Account language and country formatted like '[language_territory]'.",
                    "location": "uri",
                    "sentAs": "locale",
                    "required": true
                }
            }
        },
        "IsAvailable": {
            "httpMethod": "POST",
            "uri": "/api/user-account/is-available",
            "summary": "Verify if an email is available to create a new HiPay account.",
            "parameters": {
                "userEmail": {
                    "type": "string",
                    "description": "Account language and country formatted like '[language_territory]'.",
                    "location": "postField",
                    "sentAs": "user_email",
                    "required": true
                },
                "entity": {
                    "type": "string",
                    "description": "Entity to apply to new account (HiPay will inform the merchant the entity to use), default is wallet",
                    "location": "postField",
                    "sentAs": "entity",
                    "required": false
                }
            }
        },
        "GetUserAccount": {
            "httpMethod": "GET",
            "uri": "/api/user-account",
            "summary": "Get HiPay Account bank details."
        },
        "RegisterBankInfo": {
            "httpMethod": "POST",
            "uri": "/api/user-account/bank-info",
            "summary": "Register new bank-details on an HiPay account.",
            "parameters": {
                "bankCountry": {
                    "type": "string",
                    "description": "Bank Country",
                    "location": "postField",
                    "sentAs": "bank_country",
                    "required": true
                },
                "bankName": {
                    "type": "string",
                    "description": "Bank Name",
                    "location": "postField",
                    "sentAs": "bank_name",
                    "required": false
                },
                "bankAddress": {
                    "type": "string",
                    "description": "Bank Address",
                    "location": "postField",
                    "sentAs": "bank_address",
                    "required": false
                },
                "bankZipCode": {
                    "type": "string",
                    "description": "Bank Zip Code",
                    "location": "postField",
                    "sentAs": "bank_zip_code",
                    "required": false
                },
                "bankCity": {
                    "type": "string",
                    "description": "Bank City",
                    "location": "postField",
                    "sentAs": "bank_city",
                    "required": false
                },
                "iban": {
                    "type": "string",
                    "description": "IBAN",
                    "location": "postField",
                    "sentAs": "iban",
                    "required": false
                },
                "swift": {
                    "type": "string",
                    "description": "SWIFT \/ BIC ",
                    "location": "postField",
                    "sentAs": "swift",
                    "required": false
                },
                "abaNum": {
                    "type": "string",
                    "description": "ABA Number",
                    "location": "postField",
                    "sentAs": "aba_num",
                    "required": false
                },
                "bsbNum": {
                    "type": "string",
                    "description": "BSB Number",
                    "location": "postField",
                    "sentAs": "bsb_num",
                    "required": false
                },
                "bankNum": {
                    "type": "string",
                    "description": "Bank Number",
                    "location": "postField",
                    "sentAs": "bank_num",
                    "required": false
                },
                "acctNum": {
                    "type": "string",
                    "description": "Account Number",
                    "location": "postField",
                    "sentAs": "acct_num",
                    "required": false
                },
                "transitNum": {
                    "type": "string",
                    "description": "Transit Number",
                    "location": "postField",
                    "sentAs": "transit_num",
                    "required": false
                },
                "file": {
                    "type": "any",
                    "description": "The document to be uploaded",
                    "location": "postFile",
                    "sentAs": "file",
                    "required": true
                }
            }
        },
        "RegisterNewAccount": {
            "httpMethod": "POST",
            "uri": "/api/user-account",
            "summary": "Create a HiPay account",
            "parameters": {
                "email": {
                    "type": "string",
                    "description": "New account email",
                    "location": "postField",
                    "sentAs": "email",
                    "required": true
                },
                "controleType": {
                    "type": "string",
                    "description": "Controle type",
                    "location": "postField",
                    "sentAs": "controle_type",
                    "required": true
                },
                "credential": {
                    "type": "object",
                    "location": "postField",
                    "sentAs": "credential",
                    "properties": {
                        "wslogin": {
                            "description": "Your API Webservice Login.",
                            "location": "postField",
                            "type": "string",
                            "sentAs": "wslogin",
                            "required": true
                        },
                        "wspassword": {
                            "description": "Your API Webservice Password.",
                            "location": "postField",
                            "type": "string",
                            "sentAs": "wspassword",
                            "required": true
                        }
                    }
                },
                "firstname": {
                    "type": "string",
                    "description": "First name of new account owner.",
                    "location": "postField",
                    "sentAs": "firstname",
                    "required": true
                },
                "lastname": {
                    "type": "string",
                    "description": "Last name of new account owner.",
                    "location": "postField",
                    "sentAs": "lastname",
                    "required": true
                },
                "currency": {
                    "type": "string",
                    "description": "Currency of created account.",
                    "location": "postField",
                    "sentAs": "currency",
                    "required": true
                },
                "locale": {
                    "type": "string",
                    "description": "New account language and country formatted like \"[language_territory]\".",
                    "location": "postField",
                    "sentAs": "locale",
                    "required": true
                },
                "login": {
                    "type": "string",
                    "description": "New account login.",
                    "location": "postField",
                    "sentAs": "login",
                    "required": false
                },
                "civility": {
                    "type": "integer",
                    "description": "Title of owner account (1=>Mr, 2=>Mrs, 3=>Miss)",
                    "location": "postField",
                    "sentAs": "civility",
                    "required": false
                },
                "ipAddress": {
                    "type": "string",
                    "description": "P of initial query to create account. Ipv4 valid IP accepted.",
                    "location": "postField",
                    "sentAs": "ip_address",
                    "required": false
                },
                "merchantGroupId": {
                    "type": "integer",
                    "description": "Merchant group ID to apply to new account",
                    "location": "postField",
                    "sentAs": "merchant_group_id",
                    "required": false
                },
                "entityCode": {
                    "type": "string",
                    "description": "Entity to apply to new account (HiPay will inform the merchant the entity to use)",
                    "location": "postField",
                    "sentAs": "entity_code",
                    "required": false
                },
                "accountType": {
                    "type": "integer",
                    "description": "0=>personal account, 1=>business account",
                    "location": "postField",
                    "sentAs": "account_type",
                    "required": false
                },
                "proType": {
                    "type": "integer",
                    "description": "1=>corporation, 2=>person, 3=>association",
                    "location": "postField",
                    "sentAs": "pro_type",
                    "required": false
                },
                "alias": {
                    "type": "string",
                    "description": "Type of company (ltd..)",
                    "location": "postField",
                    "sentAs": "alias",
                    "required": false
                },
                "companyName": {
                    "type": "string",
                    "description": "Name of company.",
                    "location": "postField",
                    "sentAs": "company_name",
                    "required": false
                },
                "vatNumber": {
                    "type": "string",
                    "description": "VAT company number.",
                    "location": "postField",
                    "sentAs": "vat_number",
                    "required": false
                },
                "address": {
                    "type": "object",
                    "location": "postField",
                    "sentAs": "address",
                    "properties": {
                        "address": {
                            "description": "Street address.",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        },
                        "zipcode": {
                            "description": "The zip or postal code.",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        },
                        "city": {
                            "description": "City.",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        },
                        "country": {
                            "description": "The country code. This two-letter country code complies with ISO 3166-1",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        },
                        "phone_number": {
                            "description": "Phone number",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        },
                        "mobile_phone_number": {
                            "description": "Mobile phone number",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        },
                        "fax_number": {
                            "description": "Fax number",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        }
                    }
                },
                "timezone": {
                    "type": "string",
                    "description": "Timezone (default : 'Europe/Paris')",
                    "location": "postField",
                    "sentAs": "alias",
                    "required": false
                },
                "birthday": {
                    "type": "object",
                    "description": "Birthdate of account owner. Ex. '1965-11-12' for November 12, 1965",
                    "instanceOf": "DateTime",
                    "location": "postField",
                    "required": false,
                    "sentAs": "birthdate",
                    "filters": [
                        {
                            "method": "date_format",
                            "args": ["@value", "Y-m-d"]
                        }
                    ]
                },
                "antiPhishingKey": {
                    "type": "string",
                    "description": "Antiphishing string.",
                    "location": "postField",
                    "sentAs": "anti_phishing_key",
                    "required": false
                },
                "hipayInformation": {
                    "type": "integer",
                    "description": "0 or 1 if user agrees.",
                    "location": "postField",
                    "sentAs": "hipay_information",
                    "required": false
                },
                "commercialInformation": {
                    "type": "integer",
                    "description": "0 or 1 if user agrees.",
                    "location": "postField",
                    "sentAs": "commercial_information",
                    "required": false
                },
                "callbackUrl": {
                    "type": "string",
                    "description": "URL where the notifications concerning this account will be sent",
                    "location": "postField",
                    "sentAs": "callback_url",
                    "required": false
                },
                "callbackSalt": {
                    "type": "string",
                    "description": "salt used in notification signature",
                    "location": "postField",
                    "sentAs": "callback_salt",
                    "required": false
                },
                "cpf": {
                    "type": "object",
                    "location": "postField",
                    "sentAs": "cpf",
                    "properties": {
                        "cpf": {
                            "description": "“Cadastro de Pessoas Físicas”",
                            "location": "postField",
                            "type": "integer",
                            "required": false
                        },
                        "id": {
                            "description": "Identification number",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        },
                        "id_type": {
                            "description": "“RG” or “RNE”",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        },
                        "state": {
                            "description": "State",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        }
                    }
                },
                "activationType": {
                    "type": "integer",
                    "description": "0 => Activation by link, 1 => Activation by code",
                    "location": "postField",
                    "sentAs": "activation_type",
                    "required": false
                }
            }
        },
        "UpdateAccount": {
            "httpMethod": "PATCH",
            "uri": "/api/user-account",
            "summary": "Update a HiPay account",
            "parameters": {
                "email": {
                    "type": "string",
                    "description": "New account email",
                    "location": "postField",
                    "sentAs": "email",
                    "required": false
                },
                "alias": {
                    "type": "string",
                    "description": "Type of company (ltd..)",
                    "location": "postField",
                    "sentAs": "alias",
                    "required": false
                },
                "vatNumber": {
                    "type": "string",
                    "description": "VAT company number.",
                    "location": "postField",
                    "sentAs": "vat_number",
                    "required": false
                },
                "address": {
                    "type": "object",
                    "location": "postField",
                    "sentAs": "address",
                    "properties": {
                        "address": {
                            "description": "Street address.",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        },
                        "zipcode": {
                            "description": "The zip or postal code.",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        },
                        "city": {
                            "description": "City.",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        },
                        "country": {
                            "description": "The country code. This two-letter country code complies with ISO 3166-1",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        },
                        "phone_number": {
                            "description": "Phone number",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        },
                        "mobile_phone_number": {
                            "description": "Mobile phone number",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        },
                        "fax_number": {
                            "description": "Fax number",
                            "location": "postField",
                            "type": "string",
                            "required": false
                        }
                    }
                },
                "hipayInformation": {
                    "type": "integer",
                    "description": "0 or 1 if user agrees.",
                    "location": "postField",
                    "sentAs": "hipay_information",
                    "required": false
                },
                "commercialInformation": {
                    "type": "integer",
                    "description": "0 or 1 if user agrees.",
                    "location": "postField",
                    "sentAs": "commercial_information",
                    "required": false
                },
                "callbackUrl": {
                    "type": "string",
                    "description": "URL where the notifications concerning this account will be sent",
                    "location": "postField",
                    "sentAs": "callback_url",
                    "required": false
                },
                "callbackSalt": {
                    "type": "string",
                    "description": "salt used in notification signature",
                    "location": "postField",
                    "sentAs": "callback_salt",
                    "required": false
                }
            }
        },
        "transfer": {
            "httpMethod": "POST",
            "uri": "/api/transfer",
            "summary": "Transfer funds between HiPay accounts",
            "parameters": {
                "recipientUserId": {
                    "type": "integer",
                    "description": "Account ID of the recipient account",
                    "location": "postField",
                    "sentAs": "recipient_account_id",
                    "required": true
                },
                "recipientUsername": {
                    "type": "string",
                    "description": "Login of the recipient account (email)",
                    "location": "postField",
                    "sentAs": "recipient_account_login",
                    "required": true
                },
                "amount": {
                    "type": "any",
                    "description": "Amount of the transfer in the account currency",
                    "location": "postField",
                    "sentAs": "amount",
                    "required": true
                },
                "publicLabel": {
                    "type": "string",
                    "description": "Label of the transfer known by you and the recipient user",
                    "location": "postField",
                    "required": true,
                    "sentAs": "public_label"
                },
                "privateLabel": {
                    "type": "string",
                    "description": "Label of the transfer only known by you",
                    "location": "postField",
                    "required": true,
                    "sentAs": "private_label"
                },
                "merchantUniqueId": {
                    "type": "string",
                    "description": "Unique ID of the transfer sent by the merchant. HiPay will treat only 1 transfer with this ID.\n",
                    "location": "postField",
                    "required": false,
                    "sentAs": "merchant_unique_id"
                }
            }
        },
        "withdraw": {
            "httpMethod": "POST",
            "uri": "/api/withdrawal",
            "summary": "Request a withdrawal from a HiPay account",
            "parameters": {
                "amount": {
                    "type": "any",
                    "description": "Amount of the transfer in the account currency",
                    "location": "postField",
                    "sentAs": "amount",
                    "required": true
                },
                "label": {
                    "type": "string",
                    "description": "Label of the transfer known by you and the recipient user",
                    "location": "postField",
                    "required": true,
                    "sentAs": "label"
                },
                "merchantUniqueId": {
                    "type": "string",
                    "description": "Unique ID of the transfer sent by the merchant. HiPay will treat only 1 transfer with this ID.\n",
                    "location": "postField",
                    "required": false,
                    "sentAs": "merchant_unique_id"
                }
            }
        },
        "GetTransactionInfo": {
            "httpMethod": "GET",
            "uri": "/api/transaction/{id}",
            "summary": "Get HiPay transaction details.",
            "parameters": {
                "id": {
                    "type": "string",
                    "description": "",
                    "location": "uri",
                    "required": true
                }
            }
        }
    }
}