Files
go-vchasno-kassa/examples.go

157 lines
2.9 KiB
Go

package vchasno
import (
"context"
"time"
)
func ExampleBasicUsage() {
client := NewClient(Config{
Token: "your-token",
Cashier: "Иванов",
Source: "parking",
})
ctx := context.Background()
response, _ := client.QuickSell(ctx, 100.00)
_ = response
}
func ExampleWithDefaults() {
client := NewClient(Config{
Token: "your-token",
Cashier: "Иванов",
Defaults: &DefaultParams{
ProductName: "Парковка",
Comment: "Оплата парковки",
Taxgrp: "1",
PayType: PayTypeCash,
DefaultTimeout: 30 * time.Second,
},
})
ctx := context.Background()
response, _ := client.QuickSell(ctx, 50.00)
_ = response
}
func ExampleBuilderPattern() {
client := NewClient(Config{
Token: "your-token",
Cashier: "Иванов",
Defaults: &DefaultParams{
ProductName: "Парковка",
Taxgrp: "1",
PayType: PayTypeCash,
},
})
response, _ := client.NewSellParams().
Price(100.00).
Cnt(2).
Comment("Парковка на 2 часа").
ExecuteDefault()
_ = response
}
func ExampleBuilderWithCard() {
client := NewClient(Config{
Token: "your-token",
})
response, _ := client.NewSellParams().
Name("Услуга парковки").
Price(150.00).
PayCard("411111****1111", "305299", "123456789012", "123456").
Userinfo("user@example.com", "+380501234567").
ExecuteDefault()
_ = response
}
func ExampleChangingDefaults() {
client := NewClient(Config{
Token: "your-token",
})
client.SetDefaults(DefaultParams{
ProductName: "VIP Парковка",
Comment: "VIP зона",
Taxgrp: "2",
PayType: PayTypeCard,
DefaultTimeout: 60 * time.Second,
})
ctx := context.Background()
response, _ := client.QuickSell(ctx, 200.00)
_ = response
}
func ExampleFullWorkflow() {
client := NewClient(Config{
Token: "your-token",
Cashier: "Петров",
Defaults: &DefaultParams{
ProductName: "Парковка",
Taxgrp: "1",
},
})
ctx := context.Background()
openResp, _ := client.OpenShift(ctx)
_ = openResp
client.NewSellParams().
Price(50.00).
PayCash().
ExecuteDefault()
client.NewSellParams().
Price(100.00).
Cnt(2).
PayCard("411111****1111", "305299", "123456789012", "123456").
ExecuteDefault()
zReport, _ := client.CloseShift(ctx)
_ = zReport
}
func ExampleMultipleSales() {
client := NewClient(Config{
Token: "your-token",
Defaults: &DefaultParams{
ProductName: "Парковка",
Taxgrp: "1",
},
})
prices := []float64{50.00, 75.00, 100.00, 125.00}
for _, price := range prices {
client.NewSellParams().
Price(price).
PayCash().
ExecuteDefault()
}
}
func ExampleWithDiscount() {
client := NewClient(Config{
Token: "your-token",
})
response, _ := client.NewSellParams().
Name("Парковка premium").
Price(200.00).
Disc(20.00).
Comment("Скидка 10%").
PayCash().
ExecuteDefault()
_ = response
}