payout

package
v1.37.2 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var TransferFee = delay.Func("transfer-fee", func(ctx context.Context, paymentToken, namespace, id string) {
	var fe *fee.Fee
	var tr *transfer.Transfer

	ctx = nscontext.WithNamespace(ctx, namespace)

	err := datastore.RunInTransaction(ctx, func(db *datastore.Datastore) error {

		fe = fee.New(db)
		if err := fe.GetById(id); err != nil {
			log.Warn("Failed to get fee with id '%s': %v", id, err, ctx)
			return err
		}

		if fe.Status == fee.Disputed {
			return fmt.Errorf("fee '%s' is being disputed", fe.Id())
		}

		if fe.Status == fee.Transferred {
			return fmt.Errorf("fee '%s' is already transferred", fe.Id())
		}

		tr = transferFromFee(db, fe)

		fe.Status = fee.Transferred
		fe.TransferId = tr.Id()

		models := []interface{}{tr, fe}
		return multi.Update(models)
	}, nil)

	if err != nil {
		log.Warn("Failed to create transfer for fee '%s', transfer '%s': %v", fe.Id(), tr.Id(), err, ctx)
		return
	}

	log.Warn("Transfer '%s' created for fee '%s' but external payout not yet implemented (legacy Stripe removed)", tr.Id(), fe.Id(), ctx)

	tr.Status = transfer.Pending
	if err := tr.Update(); err != nil {
		log.Error("Failed to update status of transfer '%s': %v\n%v", tr.Id(), err, tr, ctx)
	}
})

Create transfer for single fee

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
Package contributor executes the OSS contributor revenue sharing payouts.
Package contributor executes the OSS contributor revenue sharing payouts.

Jump to

Keyboard shortcuts

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