order

package
v0.1.0-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 21, 2023 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

* File Created: Thursday, 24th August 2023 6:36:16 pm * Author: Abdul Hamid (abdul.surel@gmail.com) * * Copyright (c) 2023 Author

* File Created: Thursday, 24th August 2023 6:36:34 pm * Author: Abdul Hamid (abdul.surel@gmail.com) * * Copyright (c) 2023 Author

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	ServerKey string
	Api       common.Api
}

func (*Client) Create

func (c *Client) Create(ctx context.Context, payload durianpay.OrderPayload) (*Create, *durianpay.Error)

Create returns a response from Create Order API.

[Doc Create Order API]: https://durianpay.id/docs/api/orders/create/
func (c *Client) CreatePaymentLink(ctx context.Context, payload durianpay.OrderPaymentLinkPayload) (*Create, *durianpay.Error)

CreatePaymentLink returns a response from Create Payment Link API.

[Doc Create Payment Link API]: https://durianpay.id/docs/api/orders/create-link/

func (*Client) FetchOrderByID

func (c *Client) FetchOrderByID(ctx context.Context, ID string, opt durianpay.OrderFetchByIDOption) (*FetchOrder, *durianpay.Error)

FetchOrderByID returns a response from Order Fetch By ID API.

[Doc Order Fetch By ID API]: https://durianpay.id/docs/api/orders/fetch-one/

func (*Client) FetchOrders

FetchOrders returns a response from Orders Fetch API.

[Doc Orders Fetch API]: https://durianpay.id/docs/api/orders/fetch/

type Create

type Create struct {
	ID             string                `json:"id"`
	CustomerID     string                `json:"customer_id"`
	OrderRefID     string                `json:"order_ref_id"`
	OrderDsRefID   string                `json:"order_ds_ref_id"`
	Amount         string                `json:"amount"`
	PaymentOption  string                `json:"payment_option"`
	PendingAmount  string                `json:"pending_amount"`
	Currency       string                `json:"currency"`
	Status         string                `json:"status"`
	IsLive         bool                  `json:"is_live"`
	CreatedAt      time.Time             `json:"created_at"`
	UpdatedAt      time.Time             `json:"updated_at"`
	Metadata       map[string]any        `json:"metadata"`
	Items          []durianpay.OrderItem `json:"items"`
	AccessToken    string                `json:"access_token"`
	ExpireTime     time.Time             `json:"expire_time"`
	ExpiryDate     time.Time             `json:"expiry_date"`
	PaymentLinkUrl string                `json:"payment_link_url"`
	AddressID      uint32                `json:"address_id"`
	Fees           string                `json:"fees"`
	ShippingFee    string                `json:"shipping_fee"`
	AdminFeeMethod string                `json:"admin_fee_method"`
}

Create is struct for response Create Order or Create Payment Link API. For case Create Payment Link API, attribute PaymentLinkUrl will be filled

type FetchOrder

type FetchOrder struct {
	ID                    string                `json:"id"`
	CustomerID            string                `json:"customer_id"`
	OrderRefID            string                `json:"order_ref_id"`
	OrderDsRefID          string                `json:"order_ds_ref_id"`
	Amount                string                `json:"amount"`
	PaymentOption         string                `json:"payment_option"`
	PendingAmount         string                `json:"pending_amount"`
	Currency              string                `json:"currency"`
	Status                string                `json:"status"`
	IsLive                bool                  `json:"is_live"`
	CreatedAt             time.Time             `json:"created_at"`
	UpdatedAt             time.Time             `json:"updated_at"`
	Metadata              map[string]any        `json:"metadata"`
	Items                 []durianpay.OrderItem `json:"items"`
	ExpiryDate            time.Time             `json:"expiry_date"`
	Description           string                `json:"description"`
	PaymentLinkUrl        string                `json:"payment_link_url"`
	IsNotificationEnabled bool                  `json:"is_notification_enabled"`
	EmailSubject          string                `json:"email_subject"`
	EmailContent          string                `json:"email_content"`
	Fees                  string                `json:"fees"`
	ShippingFee           string                `json:"shipping_fee"`
	AdminFeeMethod        string                `json:"admin_fee_method"`
	Customer              durianpay.Customer    `json:"customer"` // Will be filled if use query expand=customer
	Payments              []Payment             `json:"payments"` // Will be filled if use query expand=payments
}

FetchOrder is struct for response Fetch Order API

type FetchOrders

type FetchOrders struct {
	Orders []Orders `json:"orders"`
	Count  uint     `json:"count"`
}

FetchOrders is struct for response Fetch Orders API

type Orders

type Orders struct {
	ID                    string    `json:"id"`
	CustomerID            string    `json:"customer_id"`
	OrderRefID            string    `json:"order_ref_id"`
	OrderDsRefID          string    `json:"order_ds_ref_id"`
	Amount                string    `json:"amount"`
	Currency              string    `json:"currency"`
	Status                string    `json:"status"`
	IsLive                bool      `json:"is_live"`
	CreatedAt             time.Time `json:"created_at"`
	UpdatedAt             time.Time `json:"updated_at"`
	ExpiryDate            time.Time `json:"expiry_date"`
	GivenName             string    `json:"given_name"`
	SurName               string    `json:"sur_name"`
	Email                 string    `json:"email"`
	Mobile                string    `json:"mobile"`
	PaymentOption         string    `json:"payment_option"`
	PaymentID             string    `json:"payment_id"`
	PaymentDetailsType    string    `json:"payment_details_type"`
	PaymentStatus         string    `json:"payment_status"`
	PaymentDate           time.Time `json:"payment_date"`
	Description           string    `json:"description"`
	PaymentLinkUrl        string    `json:"payment_link_url"`
	IsNotificationEnabled bool      `json:"is_notification_enabled"`
	EmailSubject          string    `json:"email_subject"`
	EmailContent          string    `json:"email_content"`
	PaymentMethodID       string    `json:"payment_method_id"`
}

Orders is part of FetchOrders for attribute Orders

type Payment

type Payment struct {
	ID                 string         `json:"id"`
	OrderID            string         `json:"order_id"`
	PaymentRefID       string         `json:"payment_ref_id"`
	SettlementID       string         `json:"settlement_id"`
	PaymentDsRefID     string         `json:"payment_ds_ref_id"`
	Amount             string         `json:"amount"`
	Status             string         `json:"status"`
	IsLive             bool           `json:"is_live"`
	ExpirationDate     time.Time      `json:"expiration_date"`
	PaymentDetailsType string         `json:"payment_details_type"`
	MethodID           string         `json:"method_id"`
	CreatedAt          time.Time      `json:"created_at"`
	UpdatedAt          time.Time      `json:"updated_at"`
	Metadata           map[string]any `json:"metadata"`
	RetryCount         uint16         `json:"retry_count"`
	Discount           string         `json:"discount"`
	PaidAmount         string         `json:"paid_amount"`
	ProvideID          string         `json:"provider_id"`
	TotalFee           string         `json:"total_fee"`
	PromoID            string         `json:"promo_id"`
	ShippingFee        string         `json:"shipping_fee"`
	SettlementStatus   string         `json:"settlement_status"`
	DsErrorMetadata    map[string]any `json:"ds_error_metadata"`
	FailureReason      map[string]any `json:"failure_reason"`
}

Payment is part of FetchOrder for attribute Payments

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL