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 datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


class Payson2CheckoutStatus(str, Enum):
    NONE = 'None'
    CREATED = 'Created'
    FORMS_FILLED = 'FormsFilled'
    READY_TO_PAY = 'ReadyToPay'
    PROCESSING_PAYMENT = 'ProcessingPayment'
    READY_TO_SHIP = 'ReadyToShip'
    SHIPPED = 'Shipped'
    PAID_TO_ACCOUNT = 'PaidToAccount'
    CANCELED = 'Canceled'
    CREDITED = 'Credited'
    EXPIRED = 'Expired'
    DENIED = 'Denied'


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PaysonCheckoutV2Response:
    # @ApiMember(Description="The checkout id")
    id: Optional[str] = None
    """
    The checkout id
    """


    # @ApiMember(Description="The code snippet to for checkout module")
    snippet: Optional[str] = None
    """
    The code snippet to for checkout module
    """


    # @ApiMember(Description="The checkout status")
    status: Optional[Payson2CheckoutStatus] = None
    """
    The checkout status
    """


# @ValidateRequest(Validator="IsAuthenticated")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SendCheckoutPaymentRequest(ICompany):
    # @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
    company_id: Optional[str] = None
    """
    The company id, if empty will use the company id for the user you are logged in with.
    """


    # @ApiMember(Description="The checkout id. The checkout must have status ReadyToShip - 5", IsRequired=true, ParameterType="path")
    id: Optional[str] = None
    """
    The checkout id. The checkout must have status ReadyToShip - 5
    """

Python 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>