# Refunding Bits in Extension

**URL:** <https://staging-discuss.dev.twitch.com/t/refunding-bits-in-extension/19075>\
**Category:** Extensions\
**Created:** [December 16, 2018, 6:38pm UTC](https://staging-discuss.dev.twitch.com/t/refunding-bits-in-extension/19075 "2018-12-16T18:38:06Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![polygex](https://avatars.discourse-cdn.com/v4/letter/p/35a633/32.png) [@polygex](https://staging-discuss.dev.twitch.com/u/polygex)\
**Post date:** [December 16, 2018, 6:38pm UTC](https://staging-discuss.dev.twitch.com/t/refunding-bits-in-extension/19075/1 "2018-12-16T18:38:06Z")

</div>

Hi devs,  
newbie here  
Was reading through the extension docs on Bits and while how get Bits is at least covered, I wonder if there is a method to refund bits back to the user(s) cancel the transaction…

Any help - greatly appreciated!  
Kinds,  
Den

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://staging-discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [December 16, 2018, 9:29pm UTC](https://staging-discuss.dev.twitch.com/t/refunding-bits-in-extension/19075/2 "2018-12-16T21:29:26Z")

</div>

Nope.

All transactions involving bits are final.

The transaction IS the movement/use of bits.

---

<div class="post-metadata">

**Author:** ![dash](https://avatars.discourse-cdn.com/v4/letter/d/7c8e57/32.png) [@dash](https://staging-discuss.dev.twitch.com/u/dash)\
**Post date:** [December 17, 2018, 1:37am UTC](https://staging-discuss.dev.twitch.com/t/refunding-bits-in-extension/19075/3 "2018-12-17T01:37:30Z")

</div>

The following snippet is from [https://help.twitch.tv/customer/portal/articles/2927987-earning-revenue-from-in-extension-bits-beta:](https://help.twitch.tv/customer/portal/articles/2927987-earning-revenue-from-in-extension-bits-beta:)

Q. Can my viewers get returns for Bits used in Extensions?

A. Per our policy, Twitch does not offer returns of Bits used in Extensions. Exceptions are handled on a case by case basis - [please contact Customer Support](https://help.twitch.tv/customer/portal/emails/new). Partners and Affiliates will have the same protections from Bits chargebacks as they do with Cheering in Chat.

---

<div class="post-metadata">

**Author:** ![polygex](https://avatars.discourse-cdn.com/v4/letter/p/35a633/32.png) [@polygex](https://staging-discuss.dev.twitch.com/u/polygex)\
**Post date:** [December 18, 2018, 6:56pm UTC](https://staging-discuss.dev.twitch.com/t/refunding-bits-in-extension/19075/4 "2018-12-18T18:56:58Z")

</div>

@BarryCarlyon @dash  
gotcha& thank you guys for your prompt replies!  
One last thing if I may:  
As a workaround, can I at least programmatically do CRUD operations on the Bits Product Catalog?  
My extension idea is letting the Broadcaster(-s) to make a wish list and setting the number of bits per list item in her dashboard view, which would be populated in the panel view of her viewers.  
I looked up the

> **[Extensions Reference](https://dev.twitch.tv/docs/extensions/reference/)**
>
> Extensions Reference

> **[Monetization](https://dev.twitch.tv/docs/extensions/monetization/)**
>
> Extensions Monetization Guide

But seems unable to find methods to do so.  
I envision two main issues:  
a) How to do CRUD on the bits product list  
b) How to make (scope) such list particular to specific Broadcaster channel  
Any help on the matter would be greatly appreciated.

Once again thank you for your time.  
Gex

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://staging-discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [December 18, 2018, 8:50pm UTC](https://staging-discuss.dev.twitch.com/t/refunding-bits-in-extension/19075/5 "2018-12-18T20:50:34Z")

</div>

> [@polygex](#):
>
> a) How to do CRUD on the bits product list

You don’t.

Each item has to be created as an Amazon ASIN. It doesn’t lend itself to be ramdomly making products on the fly.

> [@polygex](#):
>
> b) How to make (scope) such list particular to specific Broadcaster channel

> If channel == somechannel { show products a/b/c }  
> if channel == anotherchannel { show products a/d/e }

---

<div class="post-metadata">

**Author:** ![Hellcat](https://d1d6mrmdu7ztse.cloudfront.net/user_avatar/staging-discuss.dev.twitch.com/hellcat/32/3621_2.png) [@Hellcat](https://staging-discuss.dev.twitch.com/u/Hellcat)\
**Post date:** [December 18, 2018, 10:57pm UTC](https://staging-discuss.dev.twitch.com/t/refunding-bits-in-extension/19075/6 "2018-12-18T22:57:03Z")

</div>

I have a similar use case where I want the broadcaster to be able to set how many bits it takes to use a certain function of my extension.

Instead of just have a text field “enter desired amount here” (which also would’ve been my choice of how to handle it) I set up a few products with some typical bit amounts like 100, 200, 250, 500 and 1000 and the streamer can choose between those,

It’s a compromise, but works rather well.

---

<div class="post-metadata">

**Author:** ![polygex](https://avatars.discourse-cdn.com/v4/letter/p/35a633/32.png) [@polygex](https://staging-discuss.dev.twitch.com/u/polygex)\
**Post date:** [December 19, 2018, 3:34pm UTC](https://staging-discuss.dev.twitch.com/t/refunding-bits-in-extension/19075/7 "2018-12-19T15:34:14Z")

</div>

Thank you once again @BarryCarlyon,  
got it now.  
@Hellcat thanks for taking time to lay down your solution, would go with it then!
