{"openapi":"3.1.0","info":{"title":"Interac API","version":"1.0"},"servers":[{"url":"https://staging.paydirectnow.com"}],"paths":{"/consumer/interacGateway.do":{"post":{"summary":"Payments","description":"Create a payment endpoint.","operationId":"submitPayment","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/PaymentRequest"}}}},"responses":{"302":{"description":"302"}}}},"/generateQR.do":{"get":{"summary":"Generate QR Code","description":"Merchants can generate a QR code image that, when scanned by the Consumer, initiates the standard payment flow.","operationId":"generateQRCode","parameters":[{"name":"merchant_id","in":"query","required":true,"schema":{"type":"string"},"description":"The 8-character Merchant account ID assigned by Paramount."},{"name":"details","in":"query","required":true,"schema":{"type":"string"},"description":"The encrypted string containing the standard Payment Redirect parameters plus the optional QR Code Payload Parameters."},{"name":"iv","in":"query","required":true,"schema":{"type":"string"},"description":"The HEX decimal of the initialization vector used to encrypt the details."}],"responses":{"200":{"description":"QR Code Image","headers":{"X-QR-Code-URL":{"description":"The URL that the QR code represents.","schema":{"type":"string"}}},"content":{"image/svg+xml":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Error code (e.g. A001)"},"message":{"type":"string","description":"Error message"}}}}}}}}},"/service/payout.do":{"post":{"summary":"Payouts","description":"Sends a payout (withdrawal) request from the merchant system to Paramount. Payouts are deposited directly into the consumer's bank account.","operationId":"submitPayout","requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/PayoutRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/service/servlet/ConfirmTrans":{"post":{"summary":"Transaction Verification","description":"When the merchant system receives a payment, withdrawal, or event notification it must immediately perform a series of actions based on the type of transaction.","operationId":"confirmTransaction","requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/ReturnNotification"}}}},"responses":{"200":{"description":"The verification response signals to the merchant system that Paramount marked the notification as successfully processed by the merchant.","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/service/servlet/IDSTransQuery":{"post":{"summary":"Report Query","description":"Sends a transaction report request from the Merchant system to Paramount.","operationId":"reportQuery","requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/ReportQueryRequest"}}}},"responses":{"200":{"description":"The report response contains CSV data where records are delimited by a line-feed (\\n) . Fields in each record are delimited by a comma.","content":{"text/plain":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"PaymentRequest":{"type":"object","required":["merchant_id","details","iv"],"properties":{"merchant_id":{"type":"string","description":"The 8-character Merchant account ID assigned by Paramount."},"details":{"type":"string","description":"The encrypted request parameters described in Payment redirect request parameters."},"iv":{"type":"string","description":"The HEX decimal of a random 128-bit initialization vector, which should be generated by a cryptographically secure pseudo-random number generator."}}},"PayoutRequest":{"type":"object","required":["merchant_id","details","iv"],"properties":{"merchant_id":{"type":"string","description":"The 8-character Merchant account ID assigned by Paramount."},"details":{"type":"string","description":"The encrypted request parameters described in Payment redirect request parameters."},"iv":{"type":"string","description":"The HEX decimal of a random 128-bit initialization vector, which should be generated by a cryptographically secure pseudo-random number generator."}}},"ReturnNotification":{"type":"object","required":["user_id","txn_num","txn_type","merchant_id","merchant_user_id","merchant_txn_num","txn_amount","txn_fee","txn_currency","original_txn_num","return_code"],"properties":{"user_id":{"type":"string","description":"The Consumer user ID used by Paramount."},"txn_num":{"type":"string","description":"The transaction number created by Paramount for the return transaction."},"txn_type":{"type":"string","description":"The transaction type. R: Return of a settled payment from the Consumer’s financial institution."},"txn_method":{"type":"string"},"merchant_id":{"type":"string","description":"The 8-character Merchant account ID assigned by Paramount."},"merchant_user_id":{"type":"string","description":"The Merchant-assigned transaction number that identifies the original payment."},"merchant_txn_num":{"type":"string","description":"The unique Merchant assigned transaction number that identifies the payment."},"txn_amount":{"type":"number","format":"float","description":"The returned payment transaction amount. The amount must be between 1.00 and 99999.99."},"txn_fee":{"format":"float","type":"number","description":"The return transaction fee payable by the Merchant, if applicable."},"txn_currency":{"type":"string","description":"The uppercase 3-letter currency code (ISO 4217)."},"txn_status":{"type":"string","description":"The status of the payment request. A transaction notification with the final txn_status of successful (S) or rejected (R) is sent. S: Successful R: Rejected","enum":["S","R"]},"customer_email":{"type":"string","description":"If the transaction was successful, the Consumer's INTERAC email is included in the payment notification.If the transaction was not successful, this field is empty."},"channel":{"type":"string","description":"The network used to settle the transaction E: Interac e-Transfer transaction"},"extra_field_1":{"type":"string","description":"This is a pass-through field and not recorded by Paramount. This field can be used by Merchants who want an extra parameter to be sent back to them. For example, to uniquely identify the transaction or Consumer."},"paymentID":{"type":"string"},"emailFromBIG":{"type":"string"},"return_code":{"type":"string","description":"The return code specified by the Consumer's financial institution."},"original_txn_num":{"type":"string"},"error_code":{"type":"string","description":"If the payment failed, the error code is included in the response."}}},"ReportQueryRequest":{"type":"object","required":["transactionId"],"properties":{"merchant_id":{"type":"string","description":"The 8-character Merchant account ID assigned by Paramount."},"merchant_pass":{"type":"string","description":"The processing password assigned to the Merchant by Paramount."},"query_type":{"type":"string","description":"The report query type. 1: Transaction returns within the date range 2: All transactions within the date range 3: All transactions within the date range (with additional details) 4: Merchant account adjustments within the date range 5: All transactions within the date range (with additional details including bank account number)"},"query_sdate":{"type":"string","format":"date","description":"The query start date YYYYMMDD (inclusive)."},"query_edate":{"type":"string","format":"date","description":"The query end date YYYYMMDD (inclusive)."},"merchant_txn_num":{"type":"string","description":"A query for a specific transaction is identified by the Merchant transaction number. If the parameter is not included or its value is blank, then all transactions in the time range are included in the response."}}}}},"x-readme":{"headers":[],"explorer-enabled":true,"proxy-enabled":true,"samples-enabled":true}}