{"swagger":"2.0","info":{"description":"Afinis is a diverse group of organizations working to support advancement and use of API standardization in the financial services industry. Utilization of this API requires a developer to [register](https://www.afinis.org/user/register) their application.","version":"1.0.7","title":"Initiate Payment API","contact":{"email":"info@afinis.org","url":"https://www.afinis.org"}},"host":"api.asig.org","basePath":"/v1","securityDefinitions":{"APIKeyQueryParam":{"type":"apiKey","in":"query","name":"apikey"}},"schemes":["https"],"consumes":["application/json"],"produces":["application/json"],"paths":{"/payments/ach/debit":{"post":{"operationId":"ACH Payments Debit","tags":["ACH Payments"],"summary":"Process ACH Debit Transactions","description":"Process ACH Debit Transactions","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"InitiatePayment","required":true,"description":"ACH details to process debit transactions","schema":{"type":"object","properties":{"paymentInformation":{"$ref":"#/definitions/paymentInformationDebit"}}}},{"name":"Request_Id","in":"header","required":false,"type":"string","format":"uuid","description":"Optional Request ID allows application developer to trace requests through the systems logs"}],"responses":{"200":{"description":"Payment transactions RCVD","schema":{"$ref":"#/definitions/initiatePaymentResponse"}},"400":{"description":"Bad request","schema":{"$ref":"#/definitions/error"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/error-401"}},"500":{"description":"Internal Server error","schema":{"$ref":"#/definitions/error-500"}}},"security":[{"APIKeyQueryParam":[]}]}},"/payments/ach/credit":{"post":{"operationId":"ACH Payments Credit","tags":["ACH Payments"],"summary":"Process ACH Credit Transactions","description":"Process ACH Credit Transactions","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"InitiatePayment","required":true,"description":"ACH details to process credit transactions","schema":{"type":"object","properties":{"paymentInformation":{"$ref":"#/definitions/paymentInformationCredit"}}}},{"name":"Request_Id","in":"header","required":false,"type":"string","format":"uuid","description":"Optional Request ID allows application developer to trace requests through the systems logs"}],"responses":{"200":{"description":"Payment transactions RCVD","schema":{"$ref":"#/definitions/initiatePaymentResponse"}},"400":{"description":"Bad request","schema":{"$ref":"#/definitions/error"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/error-401"}},"500":{"description":"Internal Server error","schema":{"$ref":"#/definitions/error-500"}}},"security":[{"APIKeyQueryParam":[]}]}}},"definitions":{"paymentIdentification":{"title":"PaymentIdentification","type":"object","required":["instructionIdentification"],"properties":{"instructionIdentification":{"description":"Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction.","type":"string","example":"ABC0928","maxLength":11},"endToEndIdentification":{"description":"Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.","type":"string","example":"ABC13609-15-18","maxLength":22}}},"creditor":{"title":"Creditor","type":"object","description":"Party to which an amount of money is due.","required":["identification"],"properties":{"identification":{"description":"Identification assigned by an institution","type":"string","example":"1234567891","maxLength":10},"name":{"type":"string","example":"XYZ Supply Co.","maxLength":16}}},"debtor":{"title":"Debtor","type":"object","description":"Party that owes an amount of money to the (ultimate) creditor.","required":["identification"],"properties":{"identification":{"description":"Identification assigned by an institution","type":"string","example":"1234567891","maxLength":10},"name":{"type":"string","example":"Company ABC","maxLength":16}}},"creditorAccount":{"title":"CreditorAccount","type":"object","required":["identification"],"properties":{"identification":{"description":"Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.","type":"string","example":"2345678911","maxLength":17}}},"debtorAccount":{"title":"DebtorAccount","type":"object","required":["identification"],"properties":{"identification":{"description":"Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.","type":"string","example":"111010151","maxLength":17}}},"paymentInformationIdentification":{"title":"PaymentInformationIdentification","description":"Unique identification, as assigned by a sending party, to unambiguously identify the payment information group within the message.","type":"string","example":"1001ABCUSDO1_20181212"},"remittanceInformation":{"title":"RemittanceInformation","description":"Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.","type":"array","items":{"type":"object","properties":{"unstructured":{"$ref":"#/definitions/unstructured"}}}},"unstructured":{"title":"unstructured","description":"Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.","type":"array","items":{"type":"object","properties":{"lineNumber":{"type":"integer","example":1},"value":{"type":"string","example":"Addenda 1"}}}},"paymentInformationDebit":{"title":"PaymentInformationDebit","type":"object","required":["creditor","directDebitTransactionInformation"],"properties":{"paymentInformationIdentification":{"$ref":"#/definitions/paymentInformationIdentification"},"creditor":{"$ref":"#/definitions/creditor"},"creditorAccount":{"$ref":"#/definitions/creditorAccount"},"directDebitTransactionInformation":{"$ref":"#/definitions/directDebitTransactionInformation"}}},"paymentInformationCredit":{"title":"PaymentInformationCredit","type":"object","required":["debtor","creditTransferTransactionInformation"],"properties":{"paymentInformationIdentification":{"$ref":"#/definitions/paymentInformationIdentification"},"debtor":{"$ref":"#/definitions/debtor"},"debtorAccount":{"$ref":"#/definitions/debtorAccount"},"creditTransferTransactionInformation":{"$ref":"#/definitions/creditTransferTransactionInformation"}}},"categoryPurpose":{"title":"CategoryPurpose","description":"Specifies the high-level purpose of the instruction based on a set of pre-defined categories","type":"object","required":["proprietary"],"properties":{"proprietary":{"description":"Category purpose, in a proprietary form.","type":"string","example":"Payment","maxLength":10}}},"transactionDebtor":{"title":"TransactionDebtor","type":"object","required":["name"],"properties":{"name":{"type":"string","example":"John Q. Public","maxLength":22}}},"transactionCreditor":{"title":"TransactionCreditor","type":"object","required":["name"],"properties":{"name":{"type":"string","example":"John Smith","maxLength":22}}},"transactionDebtorAccount":{"title":"TransactionDebtorAccount","type":"object","required":["identification","type"],"properties":{"identification":{"description":"Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction","type":"string","example":"1111111122","maxLength":17},"type":{"type":"string","enum":[{"CACC":null,"description":"Current Account used to post debits and credits when no specific account has been nominated"},{"SCGS":null,"description":"Account used for savings"}],"example":"CACC"}}},"transactionCreditorAccount":{"title":"TransactionCreditorAccount","type":"object","required":["identification","type"],"properties":{"identification":{"description":"Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction","type":"string","example":"2345678911","maxLength":17},"type":{"type":"string","enum":[{"CACC":null,"description":"Current Account used to post debits and credits when no specific account has been nominated"},{"SCGS":null,"description":"Account used for savings"}],"example":"CACC"}}},"paymentTypeInformation":{"title":"PaymentTypeInformation","description":"Set of elements used to further specify the type of transaction.","type":"object","required":["localInstrument"],"properties":{"localInstrument":{"type":"string","example":"WEB","enum":[{"CCD":null},{"CTX":null},{"PPD":null},{"WEB":null},{"TEL":null},{"CIE":null}]},"sequenceType":{"type":"string","default":"OOFF","enum":[{"OOFF":null,"description":"Direct debit instruction where the debtor's authorization is used to initiate on single direct debt transaction."},{"RCUR":null,"description":"Direct debit transaction where the debtor authorization is used for regular direct debit transactions initiated by the creditor."}]},"categoryPurpose":{"$ref":"#/definitions/categoryPurpose"}}},"instructedAmount":{"title":"InstructedAmount","description":"Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.","type":"object","required":["amount","currency"],"properties":{"amount":{"type":"number","example":100.01,"maxLength":11},"currency":{"type":"string","example":"USD","default":"USD"}}},"settlementTimeIndication":{"title":"SettlementTimeIndication","description":"Provides information on the occurred settlement time(s) of the payment transaction.","type":"string","example":"2018-12-12T13:00:00"},"creditorAgent":{"title":"CreditorAgent","type":"object","description":"Financial institution servicing an account for the creditor.","required":["memberIdentification","clearingSystemIdentification"],"properties":{"clearingSystemIdentification":{"description":"Specification of a pre-agreed offering between clearing agents or the channel through which the payment instruction is processed","type":"string","example":"USABA","enum":[{"CACPA":null,"description":"Bank Branch Code used in Canada."},{"USABA":null,"description":"Routing Transit number assigned by the ABA for US financial Institutions."}]},"memberIdentification":{"description":"Identification of a member of a clearing system e.g., a U.S. transit routing number or Canadian Payments Association Routing Number","type":"string","minLength":9,"maxLength":9,"example":"061103852"}}},"debtorAgent":{"title":"DebtorAgent","type":"object","description":"Financial institution servicing an account for the debtor.","required":["clearingSystemIdentification","memberIdentification"],"properties":{"clearingSystemIdentification":{"description":"Specification of a pre-agreed offering between clearing agents or the channel through which the payment instruction is processed","type":"string","example":"USABA","enum":[{"CACPA":null,"description":"Bank Branch Code used in Canada."},{"USABA":null,"description":"Routing Transit number assigned by the ABA for US financial Institutions."}]},"memberIdentification":{"description":"Identification of a member of a clearing system e.g., a U.S. transit routing number or Canadian Payments Association Routing Number","type":"string","minLength":9,"maxLength":9,"example":"061103852"}}},"discretionaryData":{"title":"DiscretionaryData","type":"string","description":"Additional information.","example":"957abc","maxLength":20},"creditTransferTransactionInformation":{"title":"CreditTransferTransactionInformation","type":"array","required":["paymentIdentification","paymentTypeInformation","instructedAmount","requestedExecutionDate","creditor","creditorAccount","creditorAgent"],"items":{"type":"object","properties":{"paymentIdentification":{"$ref":"#/definitions/paymentIdentification"},"paymentTypeInformation":{"$ref":"#/definitions/paymentTypeInformation"},"discretionaryData":{"$ref":"#/definitions/discretionaryData"},"requestedExecutionDate":{"type":"string","example":"2018-12-12","maxLength":10},"settlementTimeIndication":{"$ref":"#/definitions/settlementTimeIndication"},"instructedAmount":{"$ref":"#/definitions/instructedAmount"},"creditorAgent":{"$ref":"#/definitions/creditorAgent"},"creditor":{"$ref":"#/definitions/transactionCreditor"},"creditorAccount":{"$ref":"#/definitions/transactionCreditorAccount"},"remittanceInformation":{"$ref":"#/definitions/remittanceInformation"}}}},"directDebitTransactionInformation":{"title":"DirectDebitTransactionInformation","type":"array","required":["paymentIdentification","paymentTypeInformation","instructedAmount","requestedCollectionDate","debtor","debtorAccount","debtorAgent"],"items":{"type":"object","properties":{"paymentIdentification":{"$ref":"#/definitions/paymentIdentification"},"paymentTypeInformation":{"$ref":"#/definitions/paymentTypeInformation"},"discretionaryData":{"$ref":"#/definitions/discretionaryData"},"requestedCollectionDate":{"type":"string","example":"2018-12-12"},"settlementTimeIndication":{"$ref":"#/definitions/settlementTimeIndication"},"instructedAmount":{"$ref":"#/definitions/instructedAmount"},"debtorAgent":{"$ref":"#/definitions/debtorAgent"},"debtor":{"$ref":"#/definitions/transactionDebtor"},"debtorAccount":{"$ref":"#/definitions/transactionDebtorAccount"},"remittanceInformation":{"$ref":"#/definitions/remittanceInformation"}}}},"initiatePaymentResponse":{"title":"InitiatePaymentResponse","type":"object","required":["transactionStatus","callback"],"properties":{"transactionStatus":{"description":"Payment initiation has been received by the receiving agent.","type":"string","example":"RCVD"},"callback":{"description":"Callback URL get transaction status.","type":"string"}}},"error":{"title":"Error","type":"object","properties":{"detail":{"description":"error details","type":"array","items":{"$ref":"#/definitions/errorDetails"}}}},"errorDetails":{"title":"ErrorDetails","type":"object","properties":{"errorcode":{"description":"A programmatic error code","example":2000,"type":"string"},"message":{"description":"A human readable description of the problem","example":"Invalid JSON structure.","type":"string"}},"required":["errorcode","message"]},"error-401":{"title":"401 Error","type":"object","properties":{"detail":{"description":"error details","type":"array","items":{"$ref":"#/definitions/errorDetails-401"}}}},"errorDetails-401":{"title":"401 ErrorDetails","type":"object","properties":{"errorcode":{"description":"A programmatic error code","example":1000,"type":"number"},"message":{"description":"A human readable description of the problem","example":"API key is missing, invalid or expired.","type":"string"}},"required":["errorcode","message"]},"error-500":{"title":"500 Error","type":"object","properties":{"detail":{"description":"error details","type":"array","items":{"$ref":"#/definitions/errorDetails-500"}}}},"errorDetails-500":{"title":"500 ErrorDetails","type":"object","properties":{"errorcode":{"description":"A programmatic error code","example":3001,"type":"number"},"message":{"description":"A human readable description of the problem","example":"Internal Server error","type":"string"}},"required":["errorcode","message"]}}}