Crate payjp

Crate payjp 

Source
Expand description

This crate provides Rust bindings to the Payjp HTTP API.

§Getting Started

To get started, we need to create a Client:

let client = payjp::Client::new("sk_YOUR_SECRET");

Then we can begin making requests as we’d like. Most requests accept many optional parameters, so we usually get the ::new(...) with any required params and then set the ones we want from there.

Most requests for creating or updating an object use the same Rust struct, so you may frequently need to refer to the official API docs to determine which fields are required for either request.

Note: We have an extensive collection of examples which are interspersed in the documentation. Any time an API is used in an example it is highlighted in the docs for that item. You can also find all the raw examples in the examples directory. Please have a look at those for inspiration or ideas on how to get started.

§Idempotency / Request Strategies

This library provides a few basic request strategies for making requests to the Payjp API. This is currently implemented as an enum with the following variants:

  • RequestStrategy::Once: This is the default strategy. It will make a request to the API and, whether the request fails or not, will simply return the response.
  • RequestStrategy::Retry: Make a request to the API and, if the request fails, retry it up to n times with a timeout. The idempotency key is generated automatically and is stable across retries.
  • RequestStrategy::ExponentialBackoff: Make a request to the API and, if the request fails, retry it up to n times with exponential backoff. The idempotency key is generated automatically and is stable across retries.

Want to implement your own? If it is a common strategy, please consider opening a PR to add it to the library. Otherwise, we are open to turning this into an open trait so that you can implement your own strategy.

Structs§

Client
A client for making API requests.
ClientBuilder
Configuration for a client.
CustomizedPayjpRequest
The request specification used by a compatible client to make a request.
Error
エラーオブジェクト
ErrorError
ListPaginator
Stream designed to support pagination.

Enums§

ErrorErrorCode
詳細なエラー内容の識別子が入ります
ErrorErrorType
大まかなエラー種別が入ります
PayjpError
An error encountered from server.
RequestStrategy
Possible strategies for sending API requests, including retry behavior and use of idempotency keys.

Traits§

PaginationExt
An extension trait to allow converting List<T> into a type that can be paginated. Not meant to be implemented by any other types.