Skip to content

Querying

If autofeed is available HyPe Initiator can be used to interrogate service about state of the payment manually or using automation.

Manual Operation

Manual operation is similar in nature as invoicing operation and requires issuing a command as member of operator group while providing autofeed JSON to Standard Input:

sh
cat src/examples/status_autofeed.json | aelucrative-hype-initiator status

Therefore it is required to have properly stored autofeed JSON from invoicing step.

INFO

Format of autofeed JSON in described in previous section.

Output

The same principles apply as in invoicing: foundational failure doesn't produce valid standard output JSON.

WARNING

Initiator application currently doesn't reprocess output from the endpoint and provides it as is. This is subject to change in the future to bring more stable API later.

During operation one may encounter what we call "engineering issue/fault": those are cause for engineering concern and are indicative of required manual intervention by an engineer. It is recommended for implementors to flag transactions which cause engineering-type fault and skip them until resolved unless whole interface become inoperative due to neglect.

Additionaly, there are "administrative issues/faults": those are related to adherence to Service Agreement and operational side of things, like key enrollment and voluntary user endpoint suspension.

Failure Case

json
{"identifier" : "", "fault": "bad_signature"}

Available faults are:

FaultDescriptionRecommended Implementor Action
unspecifiedInternal fault which is undisclosed.Retry later.
server_errorKnown internal service error.Retry later.
bad_signatureApplied signature is incorrect.This is both engineering and administrative issue. You signature is damaged, invalid or not enrolled. Do not retry.
user_disabledUser endpoint is disabled.This is administrative issue. Your account has been suspended for not following Service Agreement or voluntarily.
resource_not_foundWrong endpoint or non-existing transaction.The resource you requested - endpoint or transaction identifier do not exist anymore. This is engineering fault.

Success Case

json
{"identifier" : "", "status" : "completed_success"}

Available statuses are:

StatusDescriptionRecommended Implementor Action
undeterminableThis is well-known status which indicates that service is currently resolving transition.Retry query later
createdTransaction is just created, no one touched it yet or is, at least, in the process.Retry query later. Safe to redispatch gateway URI to user.
reachedTransaction was reached by user and they are interacting with the system.Same as "created".
payment_in_processTransaction is acted upon by user. System is awaiting payment from upstream.Retry query later. It is not safe to redispatch. Consider waiting, or if you don't want to inconvenience user, create a new transaction and be ready to handle first one to be eventually completed
completed_successTransaction is completed.Payment is complete. Please note, this doesn't indicate finality as refund can still occur.
completed_refundedTransaction is completed with customer being refunded.Payment was complete, but then refunded. This is final.
completed_rejectedTransaction was rejected by the user explicitly.Payment will never happen. Safe to issue another transaction if needed.
unexpectedThere is internal protocol mismatch.This is engineering issue. Update your terminal SDK and report issue to AELucrita.