BokaMera.API.Host

<back to all web services

StripeV1CreateCheckout

The following routes are available for this service:
POST/payment/stripe/v1/checkoutCreate an checkout for Payble entity. Note if existing checkouts already exists, it will invalidate those.Create Stripe checkout (requires settings for Stripe Checkout 1.0)
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BokaMera.API.ServiceModel.Dtos

Namespace Global

    Namespace BokaMera.API.ServiceModel.Dtos

        Public Partial Class ArticleToCreate
            Public Overridable Property ArticleId As Integer
            Public Overridable Property ArticleTypeId As Integer
            Public Overridable Property Quantity As Integer
        End Class

        Public Partial Class StripeCheckoutQueryResponse
            '''<Summary>
            '''The checkout session id
            '''</Summary>
            <ApiMember(Description:="The checkout session id")>
            Public Overridable Property Number As String

            '''<Summary>
            '''The url for checkout module to be placed in a iframe
            '''</Summary>
            <ApiMember(Description:="The url for checkout module to be placed in a iframe")>
            Public Overridable Property Url As String

            '''<Summary>
            '''The checkout status
            '''</Summary>
            <ApiMember(Description:="The checkout status")>
            Public Overridable Property Status As String

            '''<Summary>
            '''Client secret to be used when initializing Stripe.js embedded checkout.
            '''</Summary>
            <ApiMember(Description:="Client secret to be used when initializing Stripe.js embedded checkout.")>
            Public Overridable Property ClientSecret As String
        End Class

        Public Partial Class StripeV1CreateCheckout
            Implements ICompany
            Public Sub New()
                Articles = New ArticleToCreate(){}
            End Sub

            '''<Summary>
            '''The company id.
            '''</Summary>
            <ApiMember(Description:="The company id.", IsRequired:=true)>
            Public Overridable Property CompanyId As Nullable(Of Guid)

            '''<Summary>
            '''Country code for checkout
            '''</Summary>
            <ApiMember(Description:="Country code for checkout", IsRequired:=true)>
            Public Overridable Property CountryCode As String

            '''<Summary>
            '''Articles (Could be Service, rebate code types, etc..
            '''</Summary>
            <ApiMember(Description:="Articles (Could be Service, rebate code types, etc..", IsRequired:=true)>
            Public Overridable Property Articles As ArticleToCreate()

            '''<Summary>
            '''An internal reference id (Could be booking, rebate code etc.)
            '''</Summary>
            <ApiMember(Description:="An internal reference id (Could be booking, rebate code etc.)", IsRequired:=true)>
            Public Overridable Property InternalReferenceId As String

            '''<Summary>
            '''Optional to set your own confirmation url after payment completed.
            '''</Summary>
            <ApiMember(Description:="Optional to set your own confirmation url after payment completed.")>
            Public Overridable Property ConfirmationUrl As String

            '''<Summary>
            '''If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. This parameter is not allowed if ui_mode is <c>embedded</c>.
            '''</Summary>
            <ApiMember(Description:="If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. This parameter is not allowed if ui_mode is <c>embedded</c>.")>
            Public Overridable Property CancelUrl As String

            '''<Summary>
            '''The UI mode of the Session. Defaults to <c>hosted</c>; One of: <c>embedded</c>, or <c>hosted</c>
            '''</Summary>
            <ApiMember(Description:="The UI mode of the Session. Defaults to <c>hosted</c>; One of: <c>embedded</c>, or <c>hosted</c>", IsRequired:=true)>
            Public Overridable Property UiMode As String
        End Class
    End Namespace
End Namespace

VB.NET StripeV1CreateCheckout 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.

POST /payment/stripe/v1/checkout HTTP/1.1 
Host: testapi.bokamera.se 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<StripeV1CreateCheckout xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <Articles>
    <ArticleToCreate>
      <ArticleId>0</ArticleId>
      <ArticleTypeId>0</ArticleTypeId>
      <Quantity>0</Quantity>
    </ArticleToCreate>
  </Articles>
  <CancelUrl>String</CancelUrl>
  <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
  <ConfirmationUrl>String</ConfirmationUrl>
  <CountryCode>String</CountryCode>
  <InternalReferenceId>String</InternalReferenceId>
  <UiMode>String</UiMode>
</StripeV1CreateCheckout>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<StripeCheckoutQueryResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <ClientSecret>String</ClientSecret>
  <Number>String</Number>
  <Status>String</Status>
  <Url>String</Url>
</StripeCheckoutQueryResponse>