Browse Source

Polish Payment and module installation documentation

pull/25826/head
maliming 3 weeks ago
parent
commit
37a56c77f4
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 2
      docs/en/modules/elsa-pro.md
  2. 2
      docs/en/modules/file-management.md
  3. 11
      docs/en/modules/payment-custom-gateway.md
  4. 232
      docs/en/modules/payment.md

2
docs/en/modules/elsa-pro.md

@ -17,7 +17,7 @@ The Elsa module is not installed in [the startup templates](../solution-template
### Using ABP CLI
ABP CLI allows adding a module to a solution using the `add-module` command. See its [documentation](../cli#add-module) for more information. Add the Elsa module using the following command:
Use the ABP CLI `add-module` command to add the Elsa module to an existing solution:
```bash
abp add-module Volo.Elsa

2
docs/en/modules/file-management.md

@ -21,7 +21,7 @@ File Management module is not installed in [the startup templates](../solution-t
### 1. Using ABP CLI
ABP CLI allows adding a module to a solution using `add-module` command. You can check its [documentation](../cli#add-module) for more information. So, file management module can be added using the command below;
Use the ABP CLI `add-module` command to add the File Management module to an existing solution:
```bash
abp add-module Volo.FileManagement

11
docs/en/modules/payment-custom-gateway.md

@ -181,7 +181,7 @@ Two page types are supported by default: a pre-payment page and a post-payment p
<h3>Pre Checkout</h3>
<form method="post">
<input type="hidden" asp-for="PaymentRequestId" />
<button type="submit" class="btn btn-success">
<button type="submit" class="btn btn-success" asp-page-handler="ContinueToCheckout">
Continue to Checkout
<i class="fa fa-long-arrow-right"></i>
</button>
@ -218,7 +218,12 @@ Two page types are supported by default: a pre-payment page and a post-payment p
return BadRequest();
}
public virtual async Task<IActionResult> OnPostAsync()
public virtual IActionResult OnPost()
{
return Page();
}
public virtual async Task<IActionResult> OnPostContinueToCheckoutAsync()
{
await _paymentWebOptions.SetAsync();
var rootUrl = _paymentWebOptions.Value.RootUrl.TrimEnd('/');
@ -237,6 +242,8 @@ Two page types are supported by default: a pre-payment page and a post-payment p
}
```
The gateway selection page preserves the POST method when it redirects to the pre-payment URL. `OnPost` handles that initial request and displays the page. The `ContinueToCheckout` handler starts the payment only after the user submits the pre-payment form.
- Create **Pages/MyGateway/PostCheckout.cshtml** and **Pages/MyGateway/PostCheckout.cshtml.cs**.
```html

232
docs/en/modules/payment.md

@ -23,7 +23,7 @@ The Payment module is not installed in [the startup templates](../solution-templ
### Using ABP CLI
ABP CLI allows adding a module to a solution using ```add-module``` command. You can check its [documentation](../cli#add-module) for more information. So, payment module can be added using the command below;
Use the ABP CLI `add-module` command to add the Payment module to an existing solution:
```bash
abp add-module Volo.Payment
@ -33,7 +33,7 @@ abp add-module Volo.Payment
If you modified your solution structure, adding a module using ABP CLI might not work for you. In such cases, the Payment module can be added to a solution manually.
In order to do that, add packages listed below to matching project on your solution. For example, ```Volo.Payment.Application``` package to your **{ProjectName}.Application.csproj** like below;
In order to do that, add packages listed below to matching project on your solution. For example, `Volo.Payment.Application` package to your **{ProjectName}.Application.csproj** like below;
```xml
<PackageReference Include="Volo.Payment.Application" Version="x.x.x" />
@ -54,7 +54,7 @@ After adding the package reference, open the module class of the project (eg: `{
### Supported Gateway Packages
In order to use a Payment Gateway, you need to add related NuGet packages to your related project as explained in Manual Installation section above and add ```DependsOn``` to your related module. For example, if you don't want to use PayU, you don't have to use its NuGet packages.
In order to use a Payment Gateway, you need to add related NuGet packages to your related project as explained in Manual Installation section above and add `DependsOn` to your related module. For example, if you don't want to use PayU, you don't have to use its NuGet packages.
After adding packages of a payment gateway to your application, you also need to configure global payment module options and options for the payment modules you have added. See the Options section below.
@ -453,198 +453,198 @@ Configure<PaymentOptions>(options =>
`PaymentOptions` properties:
* `Gateways`: Dictionary of gateway configurations keyed by gateway name.
* ```Name```: Name of payment gateway.
* ```DisplayName```: DisplayName of payment gateway.
* ```IsSubscriptionSupported```: Whether the gateway can process recurring payment products.
* ```PaymentGatewayType```: type of payment gateway.
* ```Order```: Order of payment gateway.
* `Name`: Name of payment gateway.
* `DisplayName`: DisplayName of payment gateway.
* `IsSubscriptionSupported`: Whether the gateway can process recurring payment products.
* `PaymentGatewayType`: type of payment gateway.
* `Order`: Order of payment gateway.
### PaymentWebOptions
```PaymentWebOptions``` is used to configure web application related configurations.
`PaymentWebOptions` is used to configure web application related configurations.
* ```CallbackUrl```: Final callback URL for internal payment gateway modules to return. A redirect to this URL is not proof of a successful payment. Query the payment request and check its state before displaying the result.
* ```RootUrl```: Root URL of your website.
* ```GatewaySelectionCheckoutButtonStyle```: CSS style to add Checkout button on gateway selection page. This class can be used for tracking user activity via 3rd party tools like Google Tag Manager.
* ```Gateways```: Used to store web related payment gateway configurations.
* ```Name```: Name of payment gateway.
* ```PrePaymentUrl```: URL of the page before redirecting user to payment gateway for payment.
* ```PostPaymentUrl```: URL of the page when user redirected back from payment gateway to your website. This page is used to validate the payment mostly.
* ```Order```: Order of payment gateway for gateway selection page.
* ```Recommended```: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* ```ExtraInfos```: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* `CallbackUrl`: Final callback URL for internal payment gateway modules to return. A redirect to this URL is not proof of a successful payment. Query the payment request and check its state before displaying the result.
* `RootUrl`: Root URL of your website.
* `GatewaySelectionCheckoutButtonStyle`: CSS style to add Checkout button on gateway selection page. This class can be used for tracking user activity via 3rd party tools like Google Tag Manager.
* `Gateways`: Used to store web related payment gateway configurations.
* `Name`: Name of payment gateway.
* `PrePaymentUrl`: URL of the page before redirecting user to payment gateway for payment.
* `PostPaymentUrl`: URL of the page when user redirected back from payment gateway to your website. This page is used to validate the payment mostly.
* `Order`: Order of payment gateway for gateway selection page.
* `Recommended`: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* `ExtraInfos`: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
### PaymentBlazorOptions
```PaymentBlazorOptions``` is used to configure Blazor application related configurations. This is the Blazor equivalent of `PaymentWebOptions`.
`PaymentBlazorOptions` is used to configure Blazor application related configurations. This is the Blazor equivalent of `PaymentWebOptions`.
* ```CallbackUrl```: Final callback URL for internal payment gateway modules to return. A redirect to this URL is not proof of a successful payment. Query the payment request and check its state before displaying the result.
* ```RootUrl```: Root URL of your Blazor application.
* ```GatewaySelectionCheckoutButtonStyle```: CSS style to add to the Checkout button on the gateway selection page. This class can be used for tracking user activity via 3rd party tools like Google Tag Manager.
* ```Gateways```: Used to store Blazor related payment gateway configurations.
* ```Name```: Name of payment gateway.
* ```PrePaymentUrl```: URL of the Blazor page before redirecting user to payment gateway for payment.
* ```PostPaymentUrl```: URL of the Blazor page when user is redirected back from payment gateway to your website.
* ```Order```: Order of payment gateway for gateway selection page.
* ```Recommended```: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* ```ExtraInfos```: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* `CallbackUrl`: Final callback URL for internal payment gateway modules to return. A redirect to this URL is not proof of a successful payment. Query the payment request and check its state before displaying the result.
* `RootUrl`: Root URL of your Blazor application.
* `GatewaySelectionCheckoutButtonStyle`: CSS style to add to the Checkout button on the gateway selection page. This class can be used for tracking user activity via 3rd party tools like Google Tag Manager.
* `Gateways`: Used to store Blazor related payment gateway configurations.
* `Name`: Name of payment gateway.
* `PrePaymentUrl`: URL of the Blazor page before redirecting user to payment gateway for payment.
* `PostPaymentUrl`: URL of the Blazor page when user is redirected back from payment gateway to your website.
* `Order`: Order of payment gateway for gateway selection page.
* `Recommended`: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* `ExtraInfos`: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
### PayuOptions
```PayuOptions``` is used to configure PayU payment gateway options.
`PayuOptions` is used to configure PayU payment gateway options.
* ```CheckoutLink```: PayU checkout URL. Its default value is `https://secure.payu.ro/order/lu.php`.
* ```Merchant```: Merchant code for PayU account.
* ```Signature```: Signature of Merchant.
* ```LanguageCode```: Language of the order. This will be used for notification email that are sent to the client, if available.
* ```VatRate```: Vat rate of order.
* ```PriceType```: Price type of order (GROSS or NET).
* ```Shipping```: A positive number indicating the price of shipping.
* ```Installment```: The number of installments. It can be an integer between 1 and 12.
* ```TestOrder```: Is the order a test order or not (true or false).
* ```Debug```: Writes detailed log on PAYU side.
* `CheckoutLink`: PayU checkout URL. Its default value is `https://secure.payu.ro/order/lu.php`.
* `Merchant`: Merchant code for PayU account.
* `Signature`: Signature of Merchant.
* `LanguageCode`: Language of the order. This will be used for notification email that are sent to the client, if available.
* `VatRate`: Vat rate of order.
* `PriceType`: Price type of order (GROSS or NET).
* `Shipping`: A positive number indicating the price of shipping.
* `Installment`: The number of installments. It can be an integer between 1 and 12.
* `TestOrder`: Is the order a test order or not (true or false).
* `Debug`: Writes detailed log on PAYU side.
### PayuWebOptions
```PayuWebOptions``` is used to configure PayU payment gateway web options.
`PayuWebOptions` is used to configure PayU payment gateway web options.
* ```Recommended```: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* ```ExtraInfos```: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* ```PrePaymentCheckoutButtonStyle```: CSS style to add to the Checkout button on the PayU prepayment page. This class can be used for tracking user activity via 3rd party tools like Google Tag Manager.
* `Recommended`: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* `ExtraInfos`: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* `PrePaymentCheckoutButtonStyle`: CSS style to add to the Checkout button on the PayU prepayment page. This class can be used for tracking user activity via 3rd party tools like Google Tag Manager.
### PayuBlazorOptions
```PayuBlazorOptions``` is used to configure PayU payment gateway Blazor options.
`PayuBlazorOptions` is used to configure PayU payment gateway Blazor options.
* ```Recommended```: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* ```ExtraInfos```: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* ```PrePaymentCheckoutButtonStyle```: CSS style to add to the Checkout button on the PayU prepayment page.
* `Recommended`: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* `ExtraInfos`: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* `PrePaymentCheckoutButtonStyle`: CSS style to add to the Checkout button on the PayU prepayment page.
### TwoCheckoutOptions
```TwoCheckoutOptions``` is used to configure TwoCheckout payment gateway options.
`TwoCheckoutOptions` is used to configure TwoCheckout payment gateway options.
* ```Signature```: Signature of Merchant's 2Checkout account.
* ```CheckoutUrl```: 2Checkout checkout URL (it must be set to https://secure.2checkout.com/order/checkout.php).
* ```LanguageCode```: Language of the order. This will be used for notification email that are sent to the client, if available.
* `Signature`: Signature of Merchant's 2Checkout account.
* `CheckoutUrl`: 2Checkout checkout URL (it must be set to https://secure.2checkout.com/order/checkout.php).
* `LanguageCode`: Language of the order. This will be used for notification email that are sent to the client, if available.
### TwoCheckoutWebOptions
```TwoCheckoutWebOptions``` is used to configure TwoCheckout payment gateway web options.
`TwoCheckoutWebOptions` is used to configure TwoCheckout payment gateway web options.
* ```Recommended```: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* ```ExtraInfos```: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* `Recommended`: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* `ExtraInfos`: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
### TwoCheckoutBlazorOptions
```TwoCheckoutBlazorOptions``` is used to configure TwoCheckout payment gateway Blazor options.
`TwoCheckoutBlazorOptions` is used to configure TwoCheckout payment gateway Blazor options.
* ```Recommended```: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* ```ExtraInfos```: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* `Recommended`: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* `ExtraInfos`: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
### StripeOptions
```StripeOptions```: is used to configure Stripe payment gateway options.
`StripeOptions`: is used to configure Stripe payment gateway options.
* ```PublishableKey```: Publishable Key for Stripe account.
* ```SecretKey```: Secret Key for Stripe account.
* `PublishableKey`: Publishable Key for Stripe account.
* `SecretKey`: Secret Key for Stripe account.
* `WebhookSecret`: Used for handling webhooks. You can get if from [Stripe Dashboard](https://dashboard.stripe.com/webhooks). If you don't use subscription & recurring payment it's not necessary.
* ```Currency```: Currency code of order (USD, EUR, etc..., see [Stripe docs](https://stripe.com/docs/currencies) for the full list). Its default value is USD.
* ```Locale```: Language of the order. Its default value is 'auto'.
* ```PaymentMethodTypes```: A list of the types of payment methods (e.g., card) this Checkout session can accept. See https://stripe.com/docs/payments/checkout/payment-methods. Its default value is 'card'.
* `Currency`: Currency code of order (USD, EUR, etc..., see [Stripe docs](https://stripe.com/docs/currencies) for the full list). Its default value is USD.
* `Locale`: Language of the order. Its default value is 'auto'.
* `PaymentMethodTypes`: A list of the types of payment methods (e.g., card) this Checkout session can accept. See https://stripe.com/docs/payments/checkout/payment-methods. Its default value is 'card'.
### StripeWebOptions
```StripeWebOptions``` is used to configure Stripe payment gateway web options.
`StripeWebOptions` is used to configure Stripe payment gateway web options.
* ```Recommended```: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* ```ExtraInfos```: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* `Recommended`: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* `ExtraInfos`: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
### StripeBlazorOptions
```StripeBlazorOptions``` is used to configure Stripe payment gateway Blazor options.
`StripeBlazorOptions` is used to configure Stripe payment gateway Blazor options.
* ```Recommended```: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* ```ExtraInfos```: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* `Recommended`: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* `ExtraInfos`: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
### PayPalOptions
```PayPalOptions``` is used to configure PayPal payment gateway options.
`PayPalOptions` is used to configure PayPal payment gateway options.
* ```ClientId```: Client Id for the PayPal account.
* ```Secret```: Secret for the PayPal account.
* ```Environment```: Payment environment. ("Sandbox" or "Live", default value is "Sandbox")
* ```Locale```: PayPal-supported language and locale to localize PayPal checkout pages. See https://developer.paypal.com/docs/api/reference/locale-codes/.
* `ClientId`: Client Id for the PayPal account.
* `Secret`: Secret for the PayPal account.
* `Environment`: Payment environment. ("Sandbox" or "Live", default value is "Sandbox")
* `Locale`: PayPal-supported language and locale to localize PayPal checkout pages. See https://developer.paypal.com/docs/api/reference/locale-codes/.
### PayPalWebOptions
```PayPalWebOptions``` is used to configure PayPal payment gateway web options.
`PayPalWebOptions` is used to configure PayPal payment gateway web options.
* ```Recommended```: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* ```ExtraInfos```: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* `Recommended`: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* `ExtraInfos`: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
### PayPalBlazorOptions
```PayPalBlazorOptions``` is used to configure PayPal payment gateway Blazor options.
`PayPalBlazorOptions` is used to configure PayPal payment gateway Blazor options.
* ```Recommended```: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* ```ExtraInfos```: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* `Recommended`: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* `ExtraInfos`: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
### IyzicoOptions
```IyzicoOptions``` is used to configure Iyzico payment gateway options.
`IyzicoOptions` is used to configure Iyzico payment gateway options.
* ```BaseUrl```: Base API URL for the Iyzico (ex: https://sandbox-api.iyzipay.com).
* ```ApiKey```: API key for the Iyzico account.
* ```SecretKey```: Secret for the Iyzico account.
* ```Currency```: Currency code for the order (USD, EUR, GBP and TRY can be used).
* ```Locale```: Language of the order.
* `BaseUrl`: Base API URL for the Iyzico (ex: https://sandbox-api.iyzipay.com).
* `ApiKey`: API key for the Iyzico account.
* `SecretKey`: Secret for the Iyzico account.
* `Currency`: Currency code for the order (USD, EUR, GBP and TRY can be used).
* `Locale`: Language of the order.
### IyzicoWebOptions
```IyzicoWebOptions``` is used to configure Iyzico payment gateway web options.
`IyzicoWebOptions` is used to configure Iyzico payment gateway web options.
* ```Recommended```: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* ```ExtraInfos```: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* ```PrePaymentCheckoutButtonStyle```: CSS style to add to the Checkout button on the Iyzico prepayment page. This class can be used for tracking user activity via 3rd party tools like Google Tag Manager.
* `Recommended`: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* `ExtraInfos`: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* `PrePaymentCheckoutButtonStyle`: CSS style to add to the Checkout button on the Iyzico prepayment page. This class can be used for tracking user activity via 3rd party tools like Google Tag Manager.
### IyzicoBlazorOptions
```IyzicoBlazorOptions``` is used to configure Iyzico payment gateway Blazor options.
`IyzicoBlazorOptions` is used to configure Iyzico payment gateway Blazor options.
* ```Recommended```: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* ```ExtraInfos```: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* ```PrePaymentCheckoutButtonStyle```: CSS style to add to the Checkout button on the Iyzico prepayment page.
* `Recommended`: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* `ExtraInfos`: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* `PrePaymentCheckoutButtonStyle`: CSS style to add to the Checkout button on the Iyzico prepayment page.
### AlipayOptions
```AlipayOptions``` is used to configure Alipay payment gateway options. **Alipay gateway only supports CNY currency**.
`AlipayOptions` is used to configure Alipay payment gateway options. **Alipay gateway only supports CNY currency**.
* ```Protocol```: Protocol for Alipay (for example, https).
* ```GatewayHost```: Gateway host for Alipay.
* ```SignType```: Sign type for the Alipay.
* ```AppId```: AppId for the Alipay account.
* ```MerchantPrivateKey```: Merchant private key of the Alipay account.
* ```MerchantCertPath```: Merchant certificate path of the Alipay account.
* ```AlipayCertPath```: Alipay cert path of the Alipay account.
* ```AlipayRootCertPath```: Alipay root cert path of the Alipay account.
* ```AlipayPublicKey```: Alipay public key of the Alipay account.
* ```NotifyUrl```: Notify url of the Alipay.
* ```EncryptKey```: Encrypt key of the Alipay.
* `Protocol`: Protocol for Alipay (for example, https).
* `GatewayHost`: Gateway host for Alipay.
* `SignType`: Sign type for the Alipay.
* `AppId`: AppId for the Alipay account.
* `MerchantPrivateKey`: Merchant private key of the Alipay account.
* `MerchantCertPath`: Merchant certificate path of the Alipay account.
* `AlipayCertPath`: Alipay cert path of the Alipay account.
* `AlipayRootCertPath`: Alipay root cert path of the Alipay account.
* `AlipayPublicKey`: Alipay public key of the Alipay account.
* `NotifyUrl`: Notify url of the Alipay.
* `EncryptKey`: Encrypt key of the Alipay.
### AlipayWebOptions
* ```Recommended```: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* ```ExtraInfos```: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* ```PrePaymentCheckoutButtonStyle```: CSS style to add to the Checkout button on the Alipay prepayment page. This class can be used for tracking user activity via 3rd party tools like Google Tag Manager.
* `Recommended`: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* `ExtraInfos`: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* `PrePaymentCheckoutButtonStyle`: CSS style to add to the Checkout button on the Alipay prepayment page. This class can be used for tracking user activity via 3rd party tools like Google Tag Manager.
### AlipayBlazorOptions
```AlipayBlazorOptions``` is used to configure Alipay payment gateway Blazor options.
`AlipayBlazorOptions` is used to configure Alipay payment gateway Blazor options.
* ```Recommended```: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* ```ExtraInfos```: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* ```PrePaymentCheckoutButtonStyle```: CSS style to add to the Checkout button on the Alipay prepayment page.
* `Recommended`: Is payment gateway recommended or not. This information is displayed on payment gateway selection page.
* `ExtraInfos`: List of informative strings for payment gateway. These texts are displayed on payment gateway selection page.
* `PrePaymentCheckoutButtonStyle`: CSS style to add to the Checkout button on the Alipay prepayment page.
> You can check the [Alipay document](https://opendocs.alipay.com/open/02np97) for more details.
@ -720,7 +720,7 @@ A payment request represents a request for a payment in the application.
* `State` : State of payment request (can be Waiting, Completed, Failed or Refunded).
* `Currency` : Currency code of payment request (USD, EUR, etc...).
* `Gateway` : Name of payment gateway used for this payment request.
* ```FailReason```: Reason for failed payment requests.
* `FailReason`: Reason for failed payment requests.
`Complete()` moves a waiting or failed request to `Completed` and is idempotent for an already completed request. `Failed()` accepts waiting or failed requests, while `Refunded()` accepts only completed requests.

Loading…
Cancel
Save