{"openapi":"3.1.0","info":{"title":"BigStar Direct API","version":"1.0"},"servers":[{"url":"https://api-mint.paramountcommerce.com/oebigstard"}],"security":[{"bearerAuth":[]}],"paths":{"/transaction/v4/direct":{"post":{"summary":"Direct transaction","description":"Direct transaction endpoint.","operationId":"directTransaction","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectRequest"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectResponse"}}}},"400":{"description":"400 Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"DirectRequest":{"type":"object","properties":{"product":{"type":"string","description":"The product type. Allowed value: IBT","example":"IBT"},"transactionRegion":{"type":"string","description":"The 2-letter province or other applicable geographic region where the transaction funds will be used. (ISO 3166-2:CA).","minLength":2,"maxLength":2,"example":"ON"},"countryCode":{"type":"string","description":"The consumer's 2-letter (non-numeric) country code. (ISO 3166-1 alpha-2)  length: 2. Allowed values: CA","example":"CA"},"language":{"type":"string","description":"The consumer's language code. (ISO 639-1).","example":"en-ca"},"originatorIp":{"type":"string","description":"The consumer's IP address used to initiate the transaction","example":"198.51.100.1"},"merchant":{"$ref":"#/components/schemas/Merchant"},"consumer":{"$ref":"#/components/schemas/Consumer"},"bank":{"$ref":"#/components/schemas/Bank"},"transactionAmount":{"type":"integer","description":"The transaction amount expressed in cents. Instant Bank Transfer limits the maximum amount to 9999900 cents.","minimum":100,"maximum":100000000,"example":2015,"format":"int64"},"currencyCode":{"type":"string","description":"The 3-letter currency code (ISO 4217).","example":"CAD"},"transactionType":{"type":"string","description":"A DEBIT transaction is a consumer payin. A CREDIT transaction is a payout from merchant to consumer. Allowed values: DEBIT | CREDIT","example":"CREDIT","enum":["DEBIT","CREDIT"]}},"required":["product","transactionRegion","countryCode","originatorIp","merchant","consumer","bank","transactionAmount","currencyCode","transactionType"]},"Merchant":{"type":"object","properties":{"merchantId":{"type":"string","description":"The Paramount-assigned unique Merchant ID.","minLength":1,"maxLength":16,"example":"PGWmVACH"},"merchantSubId":{"type":"integer","description":"The merchant account sub ID assigned by Paramount.","minimum":0,"maximum":1000000,"example":24,"format":"int32"},"merchantUserId":{"type":"string","description":"The merchant-assigned unique user ID.","minLength":3,"maxLength":64,"example":"user123"},"merchantTransactionId":{"type":"string","description":"The merchant-assigned transaction ID. This must be unique for each transaction.","minLength":1,"maxLength":30,"example":"abc1234"},"merchantTransactionType":{"type":"string","description":"The merchant transaction type.","example":"BINGO","enum":["POKER","CASINO","BINGO","SPORTS_BETTING","DIGITAL_REMITTANCE","E_SPORTS"]}},"required":["merchantId","merchantSubId","merchantUserId","merchantTransactionId"]},"Consumer":{"type":"object","properties":{"dob":{"type":"string","description":"The consumer's date of birth. (ISO 8601) yyyy-MM-dd","example":"1977-01-28","format":"date"},"consumerType":{"type":"string","description":"The type of consumer.","example":"SENDER","enum":["RECEIVER","SENDER"]},"contactInfo":{"$ref":"#/components/schemas/ContactInfo"},"driversLicense":{"type":"string","description":"The consumer's drivers license number.","minLength":0,"maxLength":32,"example":"P1234567"},"driversLicenseState":{"type":"string","description":"The 2-letter province or geographic region that issued the consumer's drivers license.","example":"ON"},"email":{"type":"string","description":"The consumer's email address. (RFC 2821)"},"phoneNumber":{"type":"string","description":"The consumer's mobile telephone number. (E.164)  [+][country code][area code][local phone number]","example":"+14161234567"}},"required":["dob","consumerType","contactInfo","email","phoneNumber"]},"ContactInfo":{"oneOf":[{"$ref":"#/components/schemas/Sender"},{"$ref":"#/components/schemas/Receiver"}]},"Sender":{"type":"object","properties":{"sender":{"$ref":"#/components/schemas/ContactInfoDetails"}}},"Receiver":{"type":"object","properties":{"receiver":{"$ref":"#/components/schemas/ContactInfoDetails"}}},"ContactInfoDetails":{"type":"object","properties":{"nameType":{"type":"string","description":"The type of name.  Allowed values: PERSON","example":"PERSON"},"name":{"$ref":"#/components/schemas/Name"},"address":{"type":"string","description":"The consumer's home address line 1.","example":"35 Oak Street"},"address2":{"type":"string","description":"The consumer's home address line 2.","example":"P.O. Box 12"},"city":{"type":"string","description":"The consumer's home city.","example":"Toronto"},"region":{"type":"string","description":"The consumer's province, or other applicable geographic region. (ISO 3166-2:CA)","example":"ON"},"countryCode":{"type":"string","description":"The consumer's 2-letter (non-numeric) country code. (ISO 3166-1 alpha-2)  Allowed value: CA","example":"CA"},"postalCode":{"type":"string","description":"The consumer's home address postal code, with a space after the first 3 characters.","minlLength":6,"maxLength":7,"example":"M1M 1M1"}},"required":["nameType","address","city","region","countryCode","postalCode"]},"Name":{"type":"object","properties":{"firstName":{"type":"string","description":"The consumer's first name.","example":"Alex"},"lastName":{"type":"string","description":"The consumer's last name.","example":"Taylor"},"middleName":{"type":"string","description":"The consumer's middle name.","example":"Sam"}},"required":["firstName","lastName"]},"Bank":{"type":"object","description":"When using the TOKEN bank type, you must specify the token that represents the consumer's bank account. The token can be used for subsequent transactions initiated by the same consumer using the same bank account.  Allowed value: TOKEN","properties":{"accountToken":{"type":"string","description":"The account token that represents the consumer's bank account.","example":"250c069f-b9af-460c-98f8-79c2511f4e46"},"bankInformationType":{"type":"string","description":"Use the TOKEN bank type if you have a token that represents the consumer's bank account.  Allowed value: TOKEN","example":"TOKEN"}},"required":["accountToken","bankInformationType"]},"DirectResponse":{"type":"object","properties":{"transactionId":{"type":"string","description":"The Paramount-assigned unique product transaction ID. If the transactionStatus is not PROCESSING, this is null.","example":"20210512184646190729000000"},"transactionStatus":{"type":"string","description":"A FAILED status typically indicates an error related to transaction processing, such as a validation or internal error. A REJECTED status typically indicates that a service, such as risk management, stopped the request from proceeding. Allowed values: PROCESSING | REJECTED | FAILED","example":"PROCESSING"},"errorCode":{"type":"string","description":"The relevant error code, if applicable.","example":null},"errorMessage":{"type":"string","description":"The error message associated with the error code. This is included only if the transactionStatus is FAILED or REJECTED. We recommend that merchant systems have a minimum Payout API timeout setting of 120 seconds.","example":null}}},"ErrorResponse":{"type":"object","properties":{"transactionId":{"type":"string","description":"The Paramount-assigned unique product transaction ID. If the transactionStatus is not PROCESSING, this is null.","example":null},"transactionStatus":{"type":"string","description":"A FAILED status typically indicates an error related to transaction processing, such as a validation or internal error. A REJECTED status typically indicates that a service, such as risk management, stopped the request from proceeding. Allowed values: PROCESSING | REJECTED | FAILED","example":"REJECTED"},"errorCode":{"type":"string","description":"The relevant error code, if applicable.","example":"P106"},"errorMessage":{"type":"string","description":"The error message associated with the error code. This is included only if the transactionStatus is FAILED or REJECTED. We recommend that merchant systems have a minimum Payout API timeout setting of 120 seconds.","example":"Duplicated transaction"}}}}}}