BokaMera.API.Host

<back to all web services

SendCheckoutPaymentRequest

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
PUT/payment/payson/v2/checkout/{Id}/sendpaymentrequestIf checkout has is awaiting admin to send payment request, this method is sending the payment reqeust (example when you want to send the payment request manually).
import 'package:servicestack/servicestack.dart';

enum Payson2CheckoutStatus
{
    None,
    Created,
    FormsFilled,
    ReadyToPay,
    ProcessingPayment,
    ReadyToShip,
    Shipped,
    PaidToAccount,
    Canceled,
    Credited,
    Expired,
    Denied,
}

class PaysonCheckoutV2Response implements IConvertible
{
    /**
    * The checkout id
    */
    // @ApiMember(Description="The checkout id")
    String? Id;

    /**
    * The code snippet to for checkout module
    */
    // @ApiMember(Description="The code snippet to for checkout module")
    String? Snippet;

    /**
    * The checkout status
    */
    // @ApiMember(Description="The checkout status")
    Payson2CheckoutStatus? Status;

    PaysonCheckoutV2Response({this.Id,this.Snippet,this.Status});
    PaysonCheckoutV2Response.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Snippet = json['Snippet'];
        Status = JsonConverters.fromJson(json['Status'],'Payson2CheckoutStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Snippet': Snippet,
        'Status': JsonConverters.toJson(Status,'Payson2CheckoutStatus',context!)
    };

    getTypeName() => "PaysonCheckoutV2Response";
    TypeContext? context = _ctx;
}

// @ValidateRequest(Validator="IsAuthenticated")
class SendCheckoutPaymentRequest implements ICompany, IConvertible
{
    /**
    * The company id, if empty will use the company id for the user you are logged in with.
    */
    // @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
    String? CompanyId;

    /**
    * The checkout id. The checkout must have status ReadyToShip - 5
    */
    // @ApiMember(Description="The checkout id. The checkout must have status ReadyToShip - 5", IsRequired=true, ParameterType="path")
    String? Id;

    SendCheckoutPaymentRequest({this.CompanyId,this.Id});
    SendCheckoutPaymentRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CompanyId = json['CompanyId'];
        Id = json['Id'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CompanyId': CompanyId,
        'Id': Id
    };

    getTypeName() => "SendCheckoutPaymentRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'testapi.bokamera.se', types: <String, TypeInfo> {
    'Payson2CheckoutStatus': TypeInfo(TypeOf.Enum, enumValues:Payson2CheckoutStatus.values),
    'PaysonCheckoutV2Response': TypeInfo(TypeOf.Class, create:() => PaysonCheckoutV2Response()),
    'SendCheckoutPaymentRequest': TypeInfo(TypeOf.Class, create:() => SendCheckoutPaymentRequest()),
});

Dart SendCheckoutPaymentRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /payment/payson/v2/checkout/{Id}/sendpaymentrequest HTTP/1.1 
Host: testapi.bokamera.se 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<SendCheckoutPaymentRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
  <Id>00000000-0000-0000-0000-000000000000</Id>
</SendCheckoutPaymentRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<PaysonCheckoutV2Response xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <Id>00000000-0000-0000-0000-000000000000</Id>
  <Snippet>String</Snippet>
  <Status>None</Status>
</PaysonCheckoutV2Response>