[][src]Crate cdpay

This crate provides a client implementation of CryptoDiggers payment gateway API version 1.

The API is implemented as async, using Futures+Tokio.

The interface is strongly typed to avoid problems, since this is important In order to use this crate, you must instantiate CDPayBuilder which is then used to create paymet requests - see its documentation.

Logging

The version 0.1.1 of this crate introduces ability to log events using slog. It does so without introducing backwards-incompatibility or performance penalty. It's also very easy to setup.

All you need is to enable feature slog and then pass your logger using set_logger() method on CDPayBuilder. The simplicity of this should enable you to chain the slog feature with your own crate easily.

All logs are discarded by default and not even generated when slog feature is turned off.

Disclaimer

The author of this crate doesn't provide any guarantees when it comes to correctness, security or any other property that might be important for not losing money. The users of this library are wholy responsible for reviewing the code and using it. For further information, see the MITNFA license.

The author of this crate reserves the right to publicly ridicule any person or company experiencing any problems with incorrect use of this crate (where not reviewing it or not contracting independednt third party reviewer is considered incorrect use).

Do not use this software if you are in fear of being ridiculed!

Structs

CDPayBuilder

The payment gateway.

OrderID

User-defined order ID.

PaymentHandle

A payment identifier that can be used to wait for payment.

PaymentInfo

Information about payment

RequestData

Contains all information required to initiate the payment.

Timeout

Timeout accepted by the server.

WaitPayment

Future that resolves when the request is paid.

Enums

APIError

Error that might happen when communicating with payment API.

CryptoCurrency

Enum representing available crypto currencies. (Regulated by cryptography as opposed to by violent force.)

FiatCurrency

Enum representing available fiat currencies. (Those defined by local mostly tolerated violent group.)

PaymentError

The ways payment might fail

RetryError

Represents the errors possible during the execution of the RetryFuture.